Emrah AÇIKGÖZ'ün Kişisel Sahifesi.

Oracle tarih fonksiyonları(sysdate)

  • 5 sene önce, Emrah tarafından yazılmıştır.
  • 4 Yorum
  • Oracle

Sistemin o andaki tarih ve saat bilgisini verir.

select sysdate from dual; SONUÇ : 16-MAY-2013

2.NEXT_DAY(tarih,ifade) Kullanımı

Verilmiş olan “tarih”e bağlı olarak “ifade” yer alan gün bilgisinin eklenerek hangi tarih olduğunun bilgisini verir.

Aşağıdaki örnekte Tarih bölümüne 16-May-2013 tarihini, İfade bölümüne Sunday(Pazar) gününü yazarsak, 16 Mayıs 2013 tarihinden sonraki ilk pazar günü hangi tarihe geldiğini verir.

select NEXT_DAY(’16-May-2013′,’SUNDAY’) “NEXT DAY” from dual;  SONUÇ : 19-MAY-2013

 3.LAST_DAY(tarih) Kullanımı

Verilen “tarih” bilgisinin ait olduğu ayın son gününü verir.

select last_day(’15-JUN-2013′) from dual;   SONUÇ : 30-JUN-2013

4.ADD_MONTHS(tarih,sayı) Kullanımı

Verilen “tarih” bilgisine “sayı” ekleyerek hangi ayın hangi günü olduğu bilgisini verir

Aşağıkaki örnekte 16-May-2013 tarihine 5 ay ilerisi hangi güne geldiğini öğrenmiş oluruz.

select add_months(’16-May-2013′,5) from dual;  SONUÇ : 16-OCT-2013

5.TRUNC(tarih,format) Kullanımı 
Bu fonkisyon aşağıdaki tabloda gösterilen “format” şekillerine göre verilmiş olan “tarih” bilgisini dönüştürür.

“tarih” bilgisi o anki sistem tarihi (16/05/2013) olarak kabul edilirse ;

SELECT trunc(sysdate,’YYYY’) from dual; -Girilen tarihe göre yılın ilk gününü verir.
SELECT trunc(sysdate,’Q’) from dual; -Girilen tarihe göre en yakın çeyrek ayın ilk gününü verir
SELECT trunc(sysdate,’MON’) from dual; -Girilen tarihin ait olduğu ayın ilk gününü verir.
 SELECT trunc(sysdate,’DY’) from dual; -Girilen tarihin ait olduğu haftanın Pazar gününün tarihini verir.
 SELECT trunc(sysdate,’W’) from dual; -Girilen tarihe göre önceki haftanın Perşembe günün tarihini verir.
  1. Yasin özkırca dedi ki:

    s.a geçen ayın ilk günü ile geçen ayın son günü arasında dinamik bir sorgu kurmam gerekiyor. bunu nasıl yapabilirim? şimdiden teşekkürler.

    • Emrah dedi ki:

      Merhabalar,

      Aşağıdaki sorgu ile yapabilirsiniz, sağlıklı günler ;

      SELECT TO_DATE(0||1||TO_CHAR(ADD_MONTHS(SYSDATE,-1),’mmyyyy’),’ddmmyyyy’)AS ayin_ilki , (LAST_DAY(ADD_MONTHS(SYSDATE,-1))) AS ayin_sonu FROM DUAL

  2. Seda dedi ki:

    Nasıl bir sorgu yazmalıyım ki örneğin SALI HAZİRAN TWO THOUSAND FIVE şeklinde bir sonuç alayım?

Bir Yorum Yazın