PostgreSQLでは、isfinite()
関数は、有限の日付、タイムスタンプ、または間隔をテストします。
Postgresは無限の日付/タイムスタンプをサポートしているため、これは便利です。たとえば、タイムスタンプを無限大または負の無限大にすることができます。この関数を使用すると、それをテストできます。
構文
この関数は1つのパラメーターを取ります。これは、日付のいずれかです。 、タイムスタンプ 、または間隔 :
isfinite(date)
isfinite(timestamp)
isfinite(interval)
例
日付でどのように機能するかの例を次に示します。 値。
SELECT isfinite(date '2020-10-23');
結果:
True
実行する場所に応じて、true
のいずれかが得られる可能性があります またはfalse
、またはt
またはf
結果。
AzureDataStudioを使用すると上記の結果が得られました。
psqlで実行すると 、次の結果が得られます:
t
タイムスタンプ
ここにタイムスタンプがあります 値。
SELECT isfinite(timestamp '2020-10-23 12:30:45');
結果:
True
間隔
ここに間隔があります 値。
SELECT isfinite(interval '2 hours 30 minutes');
結果:
True
インフィニティ
前の例はすべてtrueを返します。これがfalseを返すものです。この場合、私はinfinity
を使用します 定数。
SELECT isfinite('infinity'::timestamp);
結果:
False
負の無限大
負の無限大を使用した場合も同じ結果になります。
SELECT isfinite('-infinity'::timestamp);
結果:
False