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

Bagaimana make_date() Bekerja di PostgreSQL

Di PostgreSQL, make_date() fungsi memungkinkan Anda membuat tanggal dari bidang tahun, bulan, dan hari yang terpisah.

Setiap bagian tanggal diberikan sebagai bilangan bulat , dan hasilnya dikembalikan sebagai tanggal .

Sintaks

Fungsi tersebut memiliki sintaks berikut:

make_date(year int, month int, day int)

Dimana year , month , dan day adalah bilangan bulat yang mewakili tahun, bulan, dan hari dari tanggal.

Contoh

Berikut adalah contoh dasar untuk didemonstrasikan.

SELECT make_date(2020, 07, 25);

Hasil:

2020-07-25

Dan kami dapat memverifikasi bahwa itu mengembalikan tipe data tanggal dengan kueri berikut.

SELECT pg_typeof(make_date(2020, 07, 25));

Hasil:

date

pg_typeof() function mengembalikan tipe data argumennya, jadi saya meneruskan make_date() sebagai argumen..

Di Luar Jangkauan

Jika salah satu argumen berada di luar rentang nilai yang mungkin untuk bagian tanggalnya, Anda akan mendapatkan kesalahan "di luar rentang".

SELECT make_date(2020, 17, 25);

Hasil:

ERROR: date field value out of range: 2020-17-25

Ini dia lagi dengan bulan 00:

SELECT make_date(2020, 00, 25);

Hasil:

date field value out of range: 2020-00-25

Meneruskan String sebagai Argumen

Dokumentasi Postgres menyatakan bahwa argumen harus bilangan bulat, tetapi meneruskan string tampaknya berfungsi (mungkin karena mereka secara implisit dikonversi ke bilangan bulat), selama setiap argumen berada dalam kisaran yang tepat.

SELECT make_date('2020', '07', '25');

Hasil:

2020-07-25

Sekali lagi kita dapat menggunakan pg_type() untuk memeriksa bahwa hasilnya sebenarnya adalah tanggal tipe data.

SELECT pg_typeof(make_date('2020', '07', '25'));

Hasil:

date

Namun, Anda masih perlu memastikan setiap argumen akan valid setelah dikonversi ke bilangan bulat, jika tidak, Anda akan mendapatkan error seperti berikut.

SELECT make_date(2020, 'July', 25);

Hasil:

ERROR: invalid input syntax for type integer: "July"
LINE 1: SELECT make_date(2020, 'July', 25);

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Alat Peringatan dan Pemberitahuan Terbaik untuk PostgreSQL

  2. PostgreSQL:masalah penyandian pada Windows saat menggunakan utilitas baris perintah psql

  3. INSERT dengan nama tabel dinamis dalam fungsi pemicu

  4. Bagaimana cara mengubah database postgres ke sqlite

  5. Konvensi penamaan PostgreSQL