Aquest tutorial us mostrarà com utilitzar la funció to_date per convertir una cadena d'entrada determinada en un tipus de dades de data.
Funció Orale to_date().
La funció to_date() d'Oracle us permet emetre un literal de data de cadena donat en un tipus de data.
La sintaxi de la funció:
TO_DATE(car [, fmt [, 'nlsparam' ] ])
La funció accepta tres arguments principals:
- El primer argument és el caràcter, que defineix la cadena de data d'entrada. El valor d'entrada pot ser CHAR, VARCHAR2, NCHAR o NVARCHAR2.
- fmt: el segon paràmetre és fmt. Aquest paràmetre defineix el format del model de data i hora del valor d'entrada. Podeu ometre aquest paràmetre si el valor d'entrada segueix el format predeterminat de DD-MON-YY, per exemple, 01-JAN-2022.
Si el format és julià, representat com a J, el valor d'entrada ha de ser un tipus enter.
El valor d'entrada es pot incloure en els formats següents:
- nlsparam – Finalment, el paràmetre nlsparam s'utilitza per especificar l'idioma de les dades i el mes de la cadena. El format és NLS_DATE_FORMAT = idioma. Oracle utilitzarà per defecte l'idioma predeterminat de la vostra sessió.
Exemple d'ús de funcions
Els següents són exemples de la funció to_date a la base de dades Oracle:
Exemple 1: conversió bàsica
L'exemple següent mostra com utilitzar la funció to_date per convertir una cadena de caràcters determinada en una data.
select to_date('10 de gener de 2023', 'Mes dd, YYYY')de dual;
En aquest cas, convertim la cadena de data donada a un tipus de data utilitzant el format Mes dd, YYYY.
El valor resultant es mostra:
TO_DATE('GENER102023','MONTHDD,AAAA')2023-01-10
Exemple 2: Converteix data i hora en tipus de data
El segon exemple il·lustra com convertir una cadena de caràcters donada a la data.
select to_date('10 de gener de 2023, 1:03', 'Mes dd, YYYY, HH:MI P.M.')
de dual;[/cc]
En aquest cas, hem d'especificar el format de l'hora com a HH:MI P.M.
La sortida resultant és la que es mostra:
FINS AL_DATA('10 DE GENER DE 2023, 1:03', 'MONTHDD,YYYY,HH:MIP.M.')2023-01-10 01:03:00
Exemple 3: especificació del paràmetre d'idioma
Considereu l'exemple següent que mostra com utilitzar la funció to_date amb el paràmetre nls_date_language.
select to_date('10 de gener de 2023, 1:03', 'Mes dd, AAAA, HH:MI P.M.', 'nls_date_language=americà')de dual;
Això hauria de retornar el valor:
2023-01-10 01:03:00Un cop canviem l'idioma de la sessió com:
alter session set nls_territory = 'Austràlia';Converteix el temps.
select to_date('10 de gener de 2023, 1:03', 'Mes dd, AAAA, HH:MI P.M.', 'nls_date_language=americà')de dual;
Conclusió
En aquesta publicació, explorem l'ús de la funció to_date a la base de dades Oracle per convertir un literal de data d'entrada donat en tipus de data.