21 Haziran 2012 Perşembe
"Date" Yönetimi
Oracle'da date zaman zaman karıştırılabilen biraz kompleks bir yapıdır. Bunu çözmenin en kolay yolu hepsini detaylı bir şekilde yazıp görmektir. Hepsini incelersek:
Current_date : date tipindedir. Session zamanını gösterir.
Current_timestamp: timestamp with time zone tipindedir.Session zamanını gösterir.
Localtimestamp: timestamp tipindedir. Session zamanını ve tarihini gösterir.
DBtimezone : Veritabanının bulunduğu server'ın zamanını gösterir.
-Mevcut tarih durumunu nasıl görebiliriz?
Select sysdate from dual;
select snap_id, begin_interval_time, end_interval_time from dba_hist_snapshot where begin_interval_time> sysdate-(2/24) order by 1;
#Son 2 saat içinde alınan snapshotlar. Sysdate'den saat yukarıdaki gibi çıkartılır.
-Mevcut tarih formatını nasıl değiştirebiliriz?
Alter session set nls_date_format ='DD-MON-YYYY HH24:MI:SS';
-Yukarıda belirttiğimiz tipler tam olarak neyi simgeliyor?
Timestamp --> Yıl , ay, gün, saat, dakika, saniye ve saliseleri gösterir.
Timestamp with time zone --> Yıl , ay, gün, saat, dakika, saniye ve saliseleri gösterir. Ayrıca bulunan zaman bölgesinin saatini ,dakikasını ve bölgesini gösterir.
-Başka hangi zaman tipleri bulunmaktadır?
interval year to month -->Yıl , ay
interval day to second -->Gün, saat, dakika, saniye
-Hangi zamanla ilgili fonksiyonlar bulunmaktadır?
İlk fonksiyonumuz "extract "'dır. Bu fonksiyonda herhangi bir zaman tipli kolon veya veri tipli bir değerden değişken çıkartabiliriz.
select extract(month from hire_date) from employees;
İkinci göstereceğimiz fonksiyon ise "to_timestamp"'dir. Bu da bizim belirleyeceğimiz bir zaman bilgisini veri tipine çevirmemizi sağlar.
Select to_timestamp('2012-06-18 11:00:00','YYYY-MON-DD HH:MI:SS') from dual;
Diğer 2 fonksiyon ise to_yminterval ve to_dsinterval 'dır. Bunlar içlerine konan bir karakter dizisini ilk fonksiyonda interval year to month tipine , diğerinde ise interval day to second tipine dönüştürürler.
Kaydol:
Kayıt Yorumları (Atom)
Hiç yorum yok:
Yorum Gönder