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. |
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.
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
Nasıl bir sorgu yazmalıyım ki örneğin SALI HAZİRAN TWO THOUSAND FIVE şeklinde bir sonuç alayım?
Selamlar,
info@emrahacikgoz.com.tr‘ ye örnek bir excel ile iletebilirsen hemen yardımcı olmaya çalışayım.
arkadaşlar merhaba,
oraclede sistem tarihinden 5 gün öncesini nasıl getirebilirim?
Selamlar,
alttaki bağlantıda detaylı bahsetmiştim ama özetle yandaki komutu kullanabilirsiniz; select (sysdate-5) from dual;
https://www.emrahacikgoz.com.tr/2017/04/12/pl-sql-ayceyrek-yil-basisonu-bulunmasi/
Merhaba,
PL-SQL de, aşağıdaki formatta bulunan iki tarihi aralığını karşılaştırıp gün bazında örneğin Date1 tarihi Date2 den küçük olanları listele dediğimde aşağıdaki ilk kaydın gelmesini istiyorum. Nasıl getirebilirim?
NOT: yandaki kod ile çalışmadı. –> and Date1<to_date (Date2, 'dd:mm:yyyy hh24:mi:ss')
Tarih saat formatı: timezone=GMT+3
Date1 Date2
'28/06/2021 02:00:05,014000' '29/06/2021 02:00:05,014000'
'28/06/2021 03:02:05,014000' '28/06/2021 03:10:05,014000'
'28/06/2021 05:10:05,014000' '28/06/2021 05:15:05,014000'
Merhaba,
sorunuzu netleştirmek adına rica etsem info@emrahacikgoz.com.tr‘ye veya https://www.emrahacikgoz.com.tr/hakkimda/iletisim/ sayfası üzerinden örnek data setinizi iletebilir misiniz.
tşk.
28.04.2019 saat 12 den 04.10.2019 23.59 a kadar ki tarih aralığını nasıl alabilirim
Buradaki tüm tarihler dinamik mı olacak yani -30 gün önce 12 den sonra mı, detay payalsirsaniz yardımcı olmak isterim
EVET ŞÖYLE Kİ “28.04.2019 saat 12” den “04.10.2019 23.59” a KADAR OLAN VERİLERİ SAAT VE DAKİKA VERECEK ŞEKİLDE ALMAM GEREKİYO