sql >> データベース >  >> RDS >> PostgreSQL

IsFinite()がPostgreSQLでどのように機能するか

    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

    1. MoodlePostgreSQLデータベースのスケーリングの課題

    2. SQLiteにデータを挿入するときに、NULL値を列のデフォルト値に変換する

    3. PGEast、ハードウェアベンチマーク、およびPGパフォーマンスファーム

    4. ArchLinuxでのMySQLリレーショナルデータベースの使用