PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Hitung Usia dalam Tahun di PostgreSQL

Postgres memiliki age() fungsi yang mengembalikan usia dalam tahun, bulan, dan hari berdasarkan dua tanggal.

Ini berfungsi dengan baik kecuali Anda hanya ingin mengembalikan usia dalam beberapa tahun.

Misalnya, Anda hanya ingin mengembalikan usia seseorang berdasarkan tanggal lahirnya. Anda menginginkan sesuatu seperti 32 bukannya 32 tahun 4 bulan 67 hari , yaitu age() kemungkinan akan kembali.

Untungnya ada cara mudah untuk melakukannya di PostgreSQL.

Jika Anda hanya ingin usia dalam tahun, Anda dapat menggunakan extract() atau date_part() untuk mendapatkan tahun dari age() nilai kembalian fungsi.

Berikut adalah contoh yang menggunakan date_part() fungsi:

SELECT date_part('year', age(timestamp '2003-12-27'));

Hasil:

16.0

Begitulah tampilannya saat saya menjalankannya di Azure Data Studio.

Saat saya menjalankannya di psql , saya mengerti ini:

16

Keduanya extract() dan date_part() mengembalikan hasilnya menggunakan tipe data presisi ganda.

Anda dapat mengonversinya menjadi bilangan bulat (atau tipe data lainnya) jika diperlukan, dengan menambahkannya dengan ::int .

SELECT date_part('year', age(timestamp '2003-12-27'))::int;

Hasil:

16

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. bagaimana cara awalan string sebelum urutan yang dihasilkan oleh postgresql?

  2. Bagaimana Anda membuat PyPy, Django dan PostgreSQL bekerja bersama?

  3. Cara Memantau Kinerja PostgreSQL 12 dengan OmniDB – Bagian 1

  4. Daftar fungsi tersimpan yang mereferensikan tabel di PostgreSQL

  5. Haruskah saya menentukan INDEX dan UNIQUE INDEX?