Aquest tutorial us oferirà un mètode ràpid per obtenir la data actual sense hora mitjançant la funció d'Oracle current_date.
Funció Oracle CURRENT_DATE
Com el seu nom indica, aquesta funció retorna la data actual utilitzant la zona horària especificada a la sessió actual.
La funció retorna el valor de la data al calendari gregorià amb el tipus DATE de DATA. La sintaxi és la que es mostra a continuació:
DATA CORRENT;
Tot i que aquesta és una funció relativament senzilla, us pot estalviar tones de càlculs a la vostra base de dades.
Pot inserir ràpidament valors de data en una columna que us permet registrar quan es produeix una ordre d'inserció, actualització o supressió a la vostra base de dades.
El valor de la data es regeix per la zona horària establerta a la sessió actual. A Oracle, el valor de la zona horària de la sessió es defineix pel paràmetre TIME_ZONE. Podeu modificar aquest valor per canviar la zona horària de la vostra sessió.
Il·lustració d'ús de la funció
Tot i que la funció és senzilla i fàcil d'entendre, donem alguns exemples que demostren com funciona la funció.
SELECT CURRENT_DATE FROM dual;
La consulta anterior hauria de retornar la data actual basada en la zona horària seleccionada com:
CURRENT_DATE|------------+
2023-01-01|
Format del valor de la data
Podeu passar el valor de la funció current_date a la funció char per formatar-la en el format desitjat.
Un exemple és el que es mostra:
SELECT TO_CHAR(CURRENT_DATE, 'DD-MM-AAAA') COM D FROM dual;En aquest cas, la funció to_char() convertirà la data actual al format DD-MM-AAAA tal com es mostra:
D |----------+
01-01-2023|
Per convertir la data en un format llarg:
D |-------------------------+
Diumenge, 01 de gener de 2023 |
Altres formats de data compatibles inclouen:
Oracle Alter Session Timezone
Per establir una zona horària diferent per a la vostra sessió actual, utilitzeu l'ordre ALTER SESSION SET tal com es mostra a continuació:
ALTER SESSION SET time_zone = '-5:0';ALTER SESSION SET NLS_DATE_FORMAT = 'AAAA-MM-DD HH24:MI:SS';
A continuació, podeu seleccionar la data actual per a la zona horària seleccionada com:
SELECT CURRENT_DATE FROM dual;Sortida:
CURRENT_DATE|------------+
2022-12-31|
Conclusió
Amb aquesta guia, heu après a utilitzar la funció current_date a Oracle per obtenir ràpidament la data actual de la zona horària de la sessió actual.