Oracle Tarih Fonksiyonları

Oracle veritabanı yönetim sisteminde yer alan sysdate, last_day, add_months, extract gibi tarih saat fonksiyonları ve kullanımı ile ilgili bilgiler 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.

Yusuf SEZER

Yusuf SEZER

Computer Engineer who interested about web technologies, algorithms, artificial intelligence and embedded systems; constantly exploring new technologies.


Bunlara'da bakmalısın!