Oracle Tarih Fonksiyonları
Oracle tarih fonksiyonları olarak adlandırılan sysdate, last_day, add_months, extract fonksiyonlarının kullanımı ve örnekleri yer alıyor.
Tarih fonksiyonları
Oracle saat ve tarih verileri üzerine işlem yapmak için çeşitli fonksiyonlara sahiptir.
ADD_MONTHS
Tarihe belirtilen değer kadar ay ekler.
SELECT ADD_MONTHS(SYSDATE, 6) AS SONUC FROM DUAL;
CURRENT_DATE
Kullanıcıya ait sistemin tarih bilgisini verir.
SELECT CURRENT_DATE AS SONUC FROM DUAL;
CURRENT_TIMESTAMP
Kullanıcıya ait sistemin tarih-saat bilgisini verir.
SELECT CURRENT_TIMESTAMP AS SONUC FROM DUAL;
NOT: LOCALTIMESTAMP kelimesi de benzer sonucu verir.
DBTIMEZONE
Veritabanı sunucusuna ait saat dilimini verir.
SELECT DBTIMEZONE AS SONUC FROM DUAL;
SYSDATE
Veritabanı sunucusuna ait tarih bilgisini verir.
SELECT SYSDATE AS SONUC FROM DUAL;
EXTRACT
Tarih-saat bilgisinden yıl, ay, gün, saat gibi parçaları almayı sağlar.
SELECT EXTRACT(YEAR FROM DATE '2000-01-01') AS SONUC FROM DUAL;
SELECT EXTRACT(MONTH FROM DATE '2000-01-01') AS SONUC FROM DUAL;
SELECT EXTRACT(DAY FROM DATE '2000-01-01') AS SONUC FROM DUAL;
LAST_DAY
Belirtilen ayın son gününü verir.
SELECT LAST_DAY(SYSDATE) AS SONUC FROM DUAL;
MONTHS_BETWEEN
Parametre olarak verilen tarih aralığını ay olarak verir.
SELECT MONTHS_BETWEEN(ADD_MONTHS(SYSDATE, 6), SYSDATE) AS SONUC FROM DUAL;
NEW_TIME
Tarih saat dilimini çevirir.
SELECT NEW_TIME(SYSDATE, 'GMT', 'PST') AS SONUC FROM DUAL;
NEXT_DAY
Belirtilen tarihten sonraki ilk hafta içi günü verir.
SELECT NEXT_DAY(SYSDATE, 'PAZARTESI') AS SONUC FROM DUAL;
NOT: Tarih bilgisi kullanılan sisteme göre değişiklik gösterir.
ROUND
Tarih bilgisini belirtilen tarih biçimine göre yuvarlar.
SELECT SYSDATE, ROUND(SYSDATE, 'MM') AS SONUC FROM DUAL;
SELECT SYSDATE, ROUND(SYSDATE, 'WW') AS SONUC FROM DUAL;
SESSIONTIMEZONE
Kullanıcıya ait sistemin saat dilimini verir.
SELECT SESSIONTIMEZONE AS SONUC FROM DUAL;
SYSDATE
Veritabanı sunucusuna ait tarih bilgisini verir.
SELECT SYSDATE AS SONUC FROM DUAL;
SYSTIMESTAMP
Veritabanı sunucusuna ait sistemin tarih-saat bilgisini verir.
SELECT SYSTIMESTAMP AS SONUC FROM DUAL;
TRUNC
Tarih saat bilgisini belirtilen ifadeye göre keserek verir.
Örneğin; 12-12-2000 ve YEAR değeri verildiğinde gün ve ay değerini 01-01-2000 yapar.
MONTH değeri verildiğinde ay değerini 01-12-2000 yapar.
SELECT TRUNC(SYSDATE, 'DAY') AS SONUC FROM DUAL;
SELECT TRUNC(SYSDATE, 'WW') AS SONUC FROM DUAL;
TZ_OFFSET
Belirtilen bölgenin saat dilimini verir.
SELECT TZ_OFFSET('Europe/Istanbul') AS SONUC FROM DUAL;
TO_TIMESTAMP
String ifadeyi tarih-saat formatına çevirir.
SELECT TO_TIMESTAMP('2000/01/01 05:55:09', 'YYYY/MM/DD HH:MI:SS') AS SONUC FROM DUAL;
TO_CHAR
Tarih saat biçimini string ifadeye çevirir.
SELECT SYSDATE, TO_CHAR(SYSDATE, 'YYYY-MM-DD') AS SONUC FROM DUAL;
SELECT SYSDATE, TO_CHAR(SYSDATE, 'MONTH'), TO_CHAR(SYSDATE, 'YEAR'), TO_CHAR(SYSDATE, 'DAY') FROM DUAL;
NOT: TO_CHAR fonksiyonunun geniş bir kullanımı vardır.
Oracle Derslerine buradan ulaşabilirsiniz.
Hayırlı günler dilerim.