Problema:
Le gustaría convertir una cadena en una fecha en su conjunto de resultados.
Ejemplo:
Nuestra base de datos tiene una tabla llamada accounts_creation , con un campo llamado company_id del tipo de datos NÚMERO y dos campos NVARCHAR2 denominados company_name y registration_date como se muestra a continuación.
| id_compañía | nombre_de_la_empresa | fecha_de_registro |
|---|---|---|
| 1 | Decatlón | 5 de enero de 1978 |
| 2 | Vestel | 21 de septiembre de 1991 |
| 3 | Capilla Blanca | 18 de octubre de 2017 |
| 4 | Copa de plata | 4 de diciembre de 2021 |
| 5 | Johnny Bros | 28 de agosto de 1984 |
Queremos convertir la columna de cadena registration_date en una columna de fecha.
Solución:
Usaremos el TO_DATE() función. Aquí está la consulta:
SELECT company_id, company_name, TO_DATE(registration_date,'DD Mon YEAR') AS registration_date FROM accounts_creation;
Este es el resultado de la consulta:
| id_compañía | nombre_de_la_empresa | fecha_de_registro |
|---|---|---|
| 1 | Decatlón | 05-ENE-78 |
| 2 | Vestel | 21-SEP-91 |
| 3 | Capilla Blanca | 18-OCT-17 |
| 4 | Copa de plata | 4-DIC-21 |
| 5 | Johnny Bros | 28-AGO-84 |
Discusión:
El TO_DATE(string, format) La función en Oracle convierte un valor de cadena en una fecha. La función toma dos argumentos:la cadena a convertir y el formato de fecha. En la especificación de formato, DD significa el día del mes (1-31), MON significa el nombre abreviado del mes y YEAR significa el año de 4 dígitos. Puede leer más sobre los formatos disponibles en la documentación de Oracle SQL aquí.