PostgreSQL age Kullanımı

PostgreSQL'de age() fonksiyonu, iki timestamp veya tarih değişkenine dayalı olarak aralarındaki farkı döndürür. Bu, farkın büyüklüğüne göre yıl, ay, gün veya ay, gün veya gün şeklinde olabilir.

İki şeklide kullanımı vardır..

  • age(timestamp) veya age(timestamp, timestamp)

İlki, geçerli tarihe göre yaşı döndürür. Özellikle, current_date()'den (gece yarısı) çıkarır. İkinci kullanım ise, ikinci tarihin birinci tarihten çıkarılmasına şeklinde olur.

İlk kullanıma göre bir örnek yapalım...

SELECT 	age(timestamp '2021-02-06');
-- Sonuç : "2 years 3 mons 4 days" şeklinde döner. (sorgunun çalıştırıldığı tarihe göre)

İkinci örneğimizde ise iki tarihin farkını döndürelim...

SELECT age(timestamp '2021-01-01', timestamp '2020-03-14');
-- Sonuç : 9 mons 18 days şeklinde döner

Eğer farkı sadece bir zaman tipi olarak istiyorsanız, extract() ya da date_part() kullanabilirsiniz. Aşağıda yıl olarak döndüren örnek kullanıma bakalım..

SELECT extract(year from age(timestamp '2003-10-25'));
-- Sonuç : 20.0 dönecektir. (sorgunun çalıştırıldığı tarihe göre)

extract() ve date_part() double tipinde değer döndürür. ::int kullanarak bunu tamsayıya çevirebilirsiniz. Aşağıda örnek kullanım gösterilmiştir.

SELECT extract(year from age(timestamp '2003-10-25'))::int;
-- Sonuç : 20 dönecektir. (sorgunun çalıştırıldığı tarihe göre)



İlginizi Çekebilir

PostgreSQL CURRENT_ROLE Kullanımı

PostgreSQL Aktif Bağlantıları Göstermek

PostgreSQL SHA256 Kullanımı

PostgreSQL TIME_OF_DAY Kullanımı

PostgreSQL REPLACE Kullanımı