Este tutorial le mostrará cómo usar la función to_date para convertir una cadena de entrada determinada en un tipo de datos de fecha.
Función Orale to_date()
La función to_date() en Oracle le permite convertir un literal de fecha de cadena dada en un tipo de fecha.
La sintaxis de la función:
TO_DATE(char [, fmt [, 'nlsparam'] ])
La función acepta tres argumentos principales:
- El primer argumento es char, que define la cadena de fecha de entrada. El valor de entrada puede ser CHAR, VARCHAR2, NCHAR o NVARCHAR2.
- fmt: el segundo parámetro es fmt. Este parámetro define el formato del modelo de fecha y hora del valor de entrada. Puede omitir este parámetro si el valor de entrada sigue el formato predeterminado de DD-MON-YY, por ejemplo, 01-ENE-2022.
Si el formato es juliano, representado como J, el valor de entrada debe ser de tipo entero.
El valor de entrada se puede incluir en los siguientes formatos:
- nlsparam – Por último, el parámetro nlsparam se usa para especificar el idioma de los datos y el mes en la cadena. El formato es NLS_DATE_FORMAT = idioma. Oracle utilizará por defecto el idioma predeterminado de su sesión.
Ejemplo de uso de funciones
Los siguientes son ejemplos de la función to_date en la base de datos de Oracle:
Ejemplo 1: conversión básica
El siguiente ejemplo muestra cómo usar la función to_date para convertir una cadena de caracteres determinada en una fecha.
select to_date('10 de enero de 2023', 'Mes dd, AAAA')de doble;
En este caso, convertimos la cadena de fecha dada a un tipo de fecha usando el formato Month dd, YYYY.
El valor resultante se muestra:
TO_DATE('10 DE ENERO DE 2023','MESHDD,AAAA')2023-01-10
Ejemplo 2: convertir fecha y hora en tipo de fecha
El segundo ejemplo ilustra cómo convertir una cadena de caracteres dada a la fecha.
select to_date('10 de enero de 2023, 1:03', 'Mes dd, AAAA, HH:MI P.M.')
de dual;[/cc]
En este caso, necesitamos especificar el formato de hora como HH:MI P.M.
La salida resultante es como se muestra:
TO_DATE('10 DE ENERO DE 2023,1:03','MESHDD,AAAA,HH:MIP.M.')2023-01-10 01:03:00
Ejemplo 3: Especificación del parámetro de idioma
Considere el siguiente ejemplo que demuestra cómo usar la función to_date con el parámetro nls_date_language.
select to_date('10 de enero de 2023, 1:03', 'Mes dd, AAAA, HH:MI P.M.', 'nls_date_language=American')de doble;
Esto debería devolver el valor:
2023-01-10 01:03:00Una vez que cambiamos el idioma de la sesión como:
modificar el conjunto de sesiones nls_territory = 'Australia';Convierte el tiempo.
select to_date('10 de enero de 2023, 1:03', 'Mes dd, AAAA, HH:MI P.M.', 'nls_date_language=American')de doble;
Conclusión
En esta publicación, exploramos el uso de la función to_date en la base de datos de Oracle para convertir un literal de fecha de entrada dado en un tipo de fecha.