Plsql Tarih Saat Fonksiyonları

PL/SQL Tarih Saat Fonksiyonları

Plsql’de tarih ve saat işlemlerini örneklerle açıklamaya çalıştım..

Şu anki zaman;
SELECT SYSDATE FROM dual;

Şu anki zaman; ( systimestamp )
SELECT SYSTIMESTAMP FROM dual

Saat dilimi ve current tarih:
SELECT sessiontimezone, current_date FROM DUAL;

Saat dilimini değiştirmek:
ALTER SESSION SET TIME_ZONE = ‘-5:0’;

Tarihe gün eklemek, çıkarmak:
SELECT SYSDATE+10 FROM dual; –10 gün sonraki tarih
SELECT SYSDATE+45 FROM dual; –45 gün önceki tarih

Tarihi stringe çevirmek:
SELECT TO_CHAR(SYSDATE,’DD-MON-YYYY HH:MI:SS’) FROM dual;

Tarihin saat kısmını almak:
SELECT TO_CHAR(SYSDATE,’HH:MI:SS’) FROM dual;
SELECT TO_CHAR(SYSDATE,’HH24:MI:SS’) FROM dual;

Tarihin gün/ay/yıl kısmını almak:
SELECT TO_CHAR(SYSDATE,’DD.MM.YYYY’) FROM dual; –string döndürür
SELECT TRUNC(SYSDATE) FROM dual; –tarih döndürür

Tarihin yılını almak:
SELECT TO_CHAR(SYSDATE,’YYYY’) FROM dual;

Tarihin yılını yazıyla almak:
SELECT TO_CHAR(SYSDATE,’YEAR’) FROM dual;

Yılın hangi günü olduğunu bulmak: (1-365)
SELECT TO_CHAR(SYSDATE,’DDD’) FROM dual;

Tarihin hangi çeyreğe düştüğünü bulmak:(1,2,3,4 çeyrek)
SELECT TO_CHAR(SYSDATE,’Q’) FROM dual;

Tarihin Ay numarasını bulmak:
SELECT TO_CHAR(SYSDATE,’MM’) FROM dual;

Tarihin gün numarasını bulmak:
SELECT TO_CHAR(SYSDATE,’DD’) FROM dual;

Tarihin ay adını bulmak:
SELECT TO_CHAR(SYSDATE,’MONTH’) FROM dual;
SELECT TO_CHAR(SYSDATE,’MON’) FROM dual;

Tarihin gün adını bulmak:
SELECT TO_CHAR(SYSDATE,’DAY’) FROM dual;

Tarihe Ay eklemek, çıkarmak:
SELECT ADD_MONTHS(SYSDATE,1) FROM dual;
SELECT ADD_MONTHS(SYSDATE,-4) FROM dual;

Ayın ilk gününü bulmak:
SELECT TO_CHAR(TRUNC(SYSDATE,’MM’),’DD.MM.YYYY’) FROM DUAL;

Ayın son gününü bulmak:
SELECT last_day(SYSDATE) FROM dual;

Bir sonraki X gününün tarihini bulmak:
SELECT NEXT_DAY(SYSDATE, ‘SALI’) FROM DUAL;
–Bir sonraki salının tarihi

Verilen stringi tarihe çevirmek:
SELECT TO_DATE(‘21.10.2010′,’DD.MM.YYYY’) FROM dual;

Verilen tarihin yıl hafta numarasını bulmak(1-52):
SELECT TO_CHAR(SYSDATE,’IW’) FROM dual;

İki tarih arasındaki ay farkını bulmak:
SELECT MONTHS_BETWEEN(SYSDATE+365,SYSDATE-365) FROM DUAL;

Verilen tarihler arasındaki en büyüğünü bulmak:
SELECT GREATEST(SYSDATE, SYSDATE+10, SYSDATE+190) FROM DUAL;

Verilen tarihler arasındaki en küçüğünü bulmak:
SELECT LEAST(SYSDATE, SYSDATE-10,SYSDATE+190) FROM DUAL;
MAX ve MIN fonksiyonları tarihlerde de kullanılabilir.

Maximum tarihi bulmak:
SELECT MAX(last_ddl_time) FROM user_objects;

Minumum tarihi bulmak:
SELECT MAX(last_ddl_time) FROM user_objects;

 

Genel olarak kullanabileceğimiz formatlar aşağıdaki gibidir..

 

Parameter Explanation
YEAR Year, spelled out alphabetically
YYYY 4-digit year
YYY
YY
Y
Last 3, 2, or 1 digit(s) of year.
IYY
IY
I
Last 3, 2, or 1 digit(s) of ISO year.
IYYY 4-digit year based on the ISO standard
RRRR Accepts a 2-digit year and returns a 4-digit year.
A value between 0-49 will return a 20xx year.
A value between 50-99 will return a 19xx year.
Q Quarter of year (1, 2, 3, 4; JAN-MAR = 1).
MM Month (01-12; JAN = 01).
MON Abbreviated name of the month.
MONTH The name of month, padded with blanks to length of 9 characters.
RM Roman numeral month (I-XII; JAN = I).
WW The week of the year (1-53) where week 1 starts on the first day of the year and continues to the seventh day of the year.
W The week of the month (1-5) where week 1 starts on the first day of the month and ends on the seventh.
IW The week of year (1-52 or 1-53) based on the ISO standard.
D Day of the week (1-7). Sunday is day 1 when nls_territory is set to ‘AMERICA’ but differs if another nls_territory is set (i.e. ‘UNITED KINGDOM’ or ‘GERMANY’ – in these cases Monday is 1.
DAY Name of the day.
DD The day of month (1-31).
DDD The day of year (1-366).
DY Abbreviated name of the day. (Mon, Tue, Wed, etc)
J Julian day; the number of days since January 1, 4712 BC.
HH Hour of day (1-12).
HH12 Hour of day (1-12).
HH24 Hour of day (0-23).
MI Minute (0-59).
SS Second (0-59).
SSSSS Number of seconds past midnight (0-86399).
FF Fractional seconds. Use a value from 1 to 9 after FF to indicate the number of digits in the fractional seconds. For example, ‘FF5’.
AM, A.M., PM, or P.M. Meridian indicator
AD or A.D AD indicator
BC or B.C. BC indicator
TZD Daylight savings identifier. For example, ‘PST’
TZH Time zone hour.
TZM Time zone minute.
TZR Time zone region.

 

Tagged: , , , , , , , ,

Comments: 3

  1. Yusuf Bağatur 21 Eylül 2016 at 16:35 Reply

    paylaşmış olduğunuz bilgiler için teşekkür ederim. Oracle Tarih formatları işlemlerimde herzaman yardımcı oldu

    • Ömer ACAR 21 Eylül 2016 at 22:10 Reply

      Makalelerim takipçilerime faydalı oluyorsa ne mutlu bana Yusuf bey 🙂

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir