PostgreSQL' de kullanılan çeşitli operatörlerin yanı sıra DateTime işlevleri de vardır.
Geçerli tarihi bize döndürür.
Şimdiki zamanı bize döndürür.
SELECT CURRENT_TIME(2); ifadesi sonucun saniye alanında kesirli kısmı 2 basamak göstermesini sağlar.
Geçerli tarih ve zamanı bağlı olarak çıkışı döndürür.
SELECT now( ); fonksiyonu da aynı işlevi görmektedir.
Saat dilimi olmadan değeri döndürür. Aynı şekilde yuvarlama işlemi de yapılabilir.
Tarih ve zamanı, saat dilimi olmadan döndürür.
Öğrendiğimiz CURRENT DATE/TIME fonksiyonlarını kullanarak bir tablo oluşturalım ve kayıt ekleyelim.
Mesajımızı yazalım ve ve tablomuzu çağıralım.
age(timestamp) işlevi il'de geçerli tarih ile argüman arasında ki zaman dilimi döndürür.
Bugün ki tarih (23.04.2019) ile girilen argüman arasındaki zaman farkını bize döndürdü.
Yukarıdaki örneğimiz de, yüzyılı bir zaman damgasından ayırmak için kullanılan sorgumuz.
Yukarıdaki örneğimiz de, hafta sayısını döndüren sorgumuzu oluşturduk.
justify_hours(aralık) fonksiyonu aralığı, 24 saatlik zaman dilimini gün olarak ayarlar.
justify_interval(aralık) fonksiyonu, hem justify_days fonksiyonunu hem de justify_hours fonksiyonunu birlikte kullanır.
CURRENT DATE/TIME( )
PostgreSQL' de geçerli tarih ve saate ilişkin değerleri döndürür.
CURRENT_DATE FONKSİYONU
Geçerli tarihi bize döndürür.
CURRENT_TIME FONKSİYONU
Şimdiki zamanı bize döndürür.
Zaman gösterimini sınırlandırmak istersek:
SELECT CURRENT_TIME(2); ifadesi sonucun saniye alanında kesirli kısmı 2 basamak göstermesini sağlar.
CURRENT_TIMESTAMP FONKSİYONU
Geçerli tarih ve zamanı bağlı olarak çıkışı döndürür.
SELECT now( ); fonksiyonu da aynı işlevi görmektedir.
LOCALTIME FONKSİYONU
Saat dilimi olmadan değeri döndürür. Aynı şekilde yuvarlama işlemi de yapılabilir.
LOCALTIMESTAMP FONKSİYONU
Tarih ve zamanı, saat dilimi olmadan döndürür.
Öğrendiğimiz CURRENT DATE/TIME fonksiyonlarını kullanarak bir tablo oluşturalım ve kayıt ekleyelim.
Mesajımızı yazalım ve ve tablomuzu çağıralım.
AGE FONKSİYONU
Yılları, yıllar arasındaki farkı hesaplamak için kullanılan fonksiyondur. Örneğin, çalışanların hizmet yıllarını hesaplamak için kullanabiliriz. 2 farklı kullanımı vardır.
age(timestamp,timestamp) işlevi iki argümanı birbirinden çıkarır ve bir sonuç aralığı döndürür.
age(timestamp) işlevi il'de geçerli tarih ile argüman arasında ki zaman dilimi döndürür.
Bugün ki tarih (23.04.2019) ile girilen argüman arasındaki zaman farkını bize döndürdü.
DATE_PART( ) FONKSİYONU
date_part( ) fonksiyonu, bir tarih veya zaman değerinden yüzyıl,yıl, ay, hafta, saat vs. gibi alt alanları almamızı sağlayan fonksiyondur.
Yukarıdaki örneğimiz de, yüzyılı bir zaman damgasından ayırmak için kullanılan sorgumuz.
Yukarıdaki örneğimiz de, hafta sayısını döndüren sorgumuzu oluşturduk.
Yukarıdaki örneğimiz de, saat, dakika ve saniye döndüren sorgumuzu oluşturduk.
EXTRACT( ) FONKSİYONU
PostgreSQL' de EXTRACT( ) fonksiyonu, tarih/ saat değerinden yıl veya saat alt alanlarını alır.
EXTRACT(field FROM source) kullanımı bu şekildedir. Bu arada field, tarih ve zaman gibi argümanları yazdığımız kısımdır. Source ise gönderdiğimiz date değerini timestamp'e dönüştürecektir.
'2019-04-23 17:29:00' gönderdiğimiz tarih ve zaman değerlerini year argümanı ile kullarak bize yıl değerini döndürmesini bekledik.
Yukarıdaki fonksiyon ise saniye kısmını bize döndüren bir sorgudur.
TIMESTAMP dışında INTERVAL argümanı da kullanılabilir. TIMESTAMP ile INTERVAL arasındaki fark; timestamp tarih ve saat saklar. Interval türünde ise zaman periyotlar halinde saklanır.
Örneğin bu veri türünde geçmiş bir yılın verilerini çekmek istediğimiz de kullanırız.
SELECT now( ) -INTERVAL '-1 year';
Örneğin bu veri türünde geçmiş bir yılın verilerini çekmek istediğimiz de kullanırız.
SELECT now( ) -INTERVAL '-1 year';
Yapmış olduğumuz örnekleri çoğaltmak mümkündür. Extract fonksiyonu, century, day, decade, dow, doy, epoch, hour, isodow, isoyear, microseconds, millennium, milliseconds, minute, month, quarter, second, timezone, timezone_hour, timezone_minute, week, year parametrelerine sahiptir, kullanım amacımıza uygun olan parametreleri de kullanabiliriz.
ISFINITE FONKSİYONU
ISFINITE fonksiyonu, sonlu tarih, zaman ve aralık testini yapar ve sonucu boolean veri türünde döndürür.
JUSTIFY FONKSİYONU
justify_days(aralık) fonksiyonu aralığı,30 günlük zaman dilimi ay olarak ayarlar.
justify_hours(aralık) fonksiyonu aralığı, 24 saatlik zaman dilimini gün olarak ayarlar.
justify_interval(aralık) fonksiyonu, hem justify_days fonksiyonunu hem de justify_hours fonksiyonunu birlikte kullanır.
DATE/TIME fonksiyonlarını tamamladık. Bir önce ki yazılarımız da PostgreSQL'de String Fonksiyonlarını ve Kullanıcı Tanımlı Fonksiyonlarımızı görmüştük incelemek isterseniz bakabilirsiniz.
Yorumlar
Yorum Gönder