Trong PostgreSQL, isfinite()
kiểm tra chức năng cho một ngày, dấu thời gian hoặc khoảng thời gian hữu hạn.
Điều này có thể hữu ích, vì Postgres hỗ trợ ngày / dấu thời gian vô hạn. Ví dụ:bạn có thể có một dấu thời gian là vô cực hoặc âm vô cùng và chức năng này cho phép bạn kiểm tra điều đó.
Cú pháp
Hàm nhận một tham số, có thể là ngày tháng , dấu thời gian hoặc khoảng thời gian :
isfinite(date)
isfinite(timestamp)
isfinite(interval)
Ví dụ
Dưới đây là ví dụ về cách nó hoạt động với ngày tháng giá trị.
SELECT isfinite(date '2020-10-23');
Kết quả:
True
Tùy thuộc vào nơi bạn chạy nó, bạn có thể nhận được true
hoặc false
hoặc một t
hoặc f
kết quả.
Tôi nhận được kết quả ở trên khi sử dụng Azure Data Studio.
Khi tôi chạy nó trong psql , Tôi nhận được kết quả sau:
t
Dấu thời gian
Đây là với dấu thời gian giá trị.
SELECT isfinite(timestamp '2020-10-23 12:30:45');
Kết quả:
True
Khoảng thời gian
Đây là với một khoảng thời gian giá trị.
SELECT isfinite(interval '2 hours 30 minutes');
Kết quả:
True
Vô cực
Tất cả các ví dụ trước đều trả về true. Đây là một trong những trả về false. Trong trường hợp này, tôi sử dụng infinity
không đổi.
SELECT isfinite('infinity'::timestamp);
Kết quả:
False
Vô cực âm
Kết quả tương tự khi sử dụng vô cực âm.
SELECT isfinite('-infinity'::timestamp);
Kết quả:
False