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

PL SQL – Ay,Çeyrek, Yıl Başı/Sonu Bulunması

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

SELECT sysdate as su_an, –şu an
trunc(sysdate,’Q’) as ceyrek_basi, –çeyrek başı
add_months(trunc(sysdate,’Q’),-3) as onceki_ceyrek_basi, –önceki çeyreğin başı
add_months(trunc(sysdate,’Q’),+3) as sonraki_ceyrek_basi, –sonraki çeyreğin başı
add_months(trunc(sysdate,’Q’),+3)-1 as ceyrek_son_gunu, –çeyrek sonu
trunc(sysdate,’Q’)-1 as onceki_ceyrek_son_gun –önceki çeyrek son gün
FROM sys.DUAL;

Oracle’da Mesai Saati/Günü Ayrımı Nasıl yapılır?

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

Yazdığımız sorgularda çoğunlukla ihtiyacımız olan mesai saati içi dışı ve mesai günü ayrımını kullanırken aşağıdaki kod buloğunu kullanıyorum, sizlerden gelen orjinal bir kod bulağu olursa değiştirmeye hazırım:) ;

select * from TABLE_NAME

WHERE
TO_CHAR(C.START_DT,’DAY’) IN (‘PAZARTESI’,’SALI      ‘,’ÇARŞAMBA ‘,’PERŞEMBE ‘,’CUMA     ‘)
AND SUBSTR(C.START_TM,1,2) BETWEEN 09 AND 17

Asp’de Tarih ve Saat Fonksiyonları.

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

<%
Response.Write Now
Response.Write Date & ” ” & Time
%>
Çalıştırırsak:
12.02.2012 15:05:04 ‘ Now komutu ile
12.02.2012 15:05:04 ‘ Date ve Time komutları ile
FormatDateTime() fonksiyonu tarih ve saatin gösterilme biçimini değiştirmemizi sağlar. Bu fonksiyonda parantez içine iki değer yazılır, biri tarih diğeri ise gösteriliş biçimi ayarıdır.

<%= FormatDateTime(Date) %<br>
<%= FormatDateTime(Date, vbGeneralDate) %><br>
<%= FormatDateTime(Date, vbLongDate) %><br>
<%= FormatDateTime(Date, vbShortDate) %><br>
<%= FormatDateTime(Now, vbLongTime) %><br>
<%= FormatDateTime(Now, vbShortTime) %><br>
<%= FormatDateTime(Now) %><br>

Çalıştırırsak:

12.02.2012
12.02.2012
12 Şubat 2012 Pazar
12.02.2012
15:39:17
15:39
12.02.2012 15:39:17

Oracle tarih fonksiyonları(sysdate)

  • 4 sene önce, Emrah tarafından yazılmıştır.
  • 0 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.