Di PostgreSQL, isfinite()
tes fungsi untuk tanggal, stempel waktu, atau interval yang terbatas.
Ini bisa berguna, karena Postgres mendukung tanggal/cap waktu yang tak terbatas. Misalnya, Anda dapat memiliki stempel waktu tak terhingga atau tak terhingga negatif, dan fungsi ini memungkinkan Anda mengujinya.
Sintaks
Fungsi mengambil satu parameter, yang dapat berupa tanggal , stempel waktu , atau interval :
isfinite(date)
isfinite(timestamp)
isfinite(interval)
Contoh
Berikut ini contoh cara kerjanya dengan tanggal nilai.
SELECT isfinite(date '2020-10-23');
Hasil:
True
Tergantung di mana Anda menjalankannya, Anda mungkin mendapatkan salah satu true
atau false
, atau t
atau f
hasil.
Saya mendapatkan hasil di atas saat menggunakan Azure Data Studio.
Saat saya menjalankannya di psql , saya mendapatkan hasil sebagai berikut:
t
Stempel waktu
Ini dia dengan stempel waktu nilai.
SELECT isfinite(timestamp '2020-10-23 12:30:45');
Hasil:
True
Interval
Ini dia dengan interval nilai.
SELECT isfinite(interval '2 hours 30 minutes');
Hasil:
True
Tak Terbatas
Semua contoh sebelumnya kembali benar. Ini salah satu yang mengembalikan false. Dalam hal ini saya menggunakan infinity
konstan.
SELECT isfinite('infinity'::timestamp);
Hasil:
False
Ketakhinggaan Negatif
Hasil yang sama saat menggunakan infinity negatif.
SELECT isfinite('-infinity'::timestamp);
Hasil:
False