Ovaj vodič će vam dati brzu metodu dohvaćanja trenutnog datuma bez vremena pomoću Oracle funkcije current_date.
Oracle CURRENT_DATE funkcija
Kao što naziv sugerira, ova funkcija vraća trenutni datum koristeći vremensku zonu navedenu u trenutnoj sesiji.
Funkcija vraća vrijednost datuma u gregorijanskom kalendaru s vrstom DATE DATE. Sintaksa je kao što je prikazano u nastavku:
TRENUTNI DATUM;
Iako je ovo relativno jednostavna funkcija, može vam uštedjeti gomilu računanja u vašoj bazi podataka.
Može brzo umetnuti datumske vrijednosti u stupac što vam omogućuje da zabilježite kada se u vašoj bazi podataka pojavi naredba za umetanje, ažuriranje ili brisanje.
Vrijednost datuma regulirana je vremenskom zonom postavljenom u trenutnoj sesiji. U Oracleu je vrijednost vremenske zone sesije definirana parametrom TIME_ZONE. Možete promijeniti ovu vrijednost da promijenite vremensku zonu za svoju sesiju.
Ilustracija korištenja funkcije
Iako je funkcija jednostavna i lako razumljiva, navedimo nekoliko primjera koji pokazuju kako funkcija radi.
SELECT CURRENT_DATE FROM dual;
Gornji upit trebao bi vratiti trenutni datum na temelju odabrane vremenske zone kao:
CURRENT_DATE|------------+
2023-01-01|
Oblikovanje vrijednosti datuma
Možete proslijediti vrijednost funkcije current_date funkciji char da biste je formatirali u željenom formatu.
Primjer je kao što je prikazano:
SELECT TO_CHAR(CURRENT_DATE, 'DD-MM-GGGG') AS D FROM dual;U ovom slučaju, funkcija to_char() pretvorit će trenutni datum u format DD-MM-GGGG kao što je prikazano:
D |----------+
01.01.2023|
Za pretvaranje datuma u dugi format:
D |------------------------+
Nedjelja, 1. siječnja 2023.|
Ostali podržani formati datuma uključuju:
Oracle Alter Session Timezone
Za postavljanje druge vremenske zone za vašu trenutnu sesiju, upotrijebite naredbu ALTER SESSION SET kao što je prikazano u nastavku:
ALTER SESSION SET time_zone = '-5:0';ALTER SESSION SET NLS_DATE_FORMAT = 'GGGG-MM-DD HH24:MI:SS';
Zatim možete odabrati trenutni datum za odabranu vremensku zonu kao:
SELECT CURRENT_DATE FROM dual;Izlaz:
CURRENT_DATE|------------+
2022-12-31|
Zaključak
Pomoću ovog vodiča naučili ste kako koristiti funkciju current_date u Oracleu za brzo dohvaćanje trenutnog datuma iz vremenske zone trenutne sesije.