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

PostgreSQLでインターバル出力フォーマットを設定する方法

    間隔で作業する場合 PostgreSQLのデータ型では、間隔出力のフォーマット方法を変更できます。

    インターバルを出力できる4つのフォーマットから選択できます。

    間隔タイプの出力形式は、次のいずれかのスタイルに設定できます。

    • sql_standard
    • postgres
    • postgres_verbose
    • iso_8601

    デフォルトのスタイルはpostgres

    間隔の形式を変更するには、SET intervalstyleを使用します 指図。

    次の例は、make_interval()の出力を示しています。 さまざまな出力スタイルを使用する場合。

    sql_standard

    このスタイルは、間隔の値が標準の制限(正と負のコンポーネントが混在しない、年月のみまたは日中のみ)を満たしている場合、間隔リテラル文字列に関するSQL標準の仕様に準拠しています。

    それ以外の場合、出力は標準の年月リテラル文字列の後に日中リテラル文字列が続き、混合符号間隔を明確にするために明示的な符号が追加されたように見えます。

    年月を使用した例を次に示します。

    SET intervalstyle = 'sql_standard';
    SELECT make_interval(years => 1, months => 2);

    結果:

    1-2

    以下は別の例です。今回は、年、月、週、日、時間、分、秒を指定します。

    SET intervalstyle = 'sql_standard';
    SELECT make_interval(1, 2, 3, 4, 5, 6, 7);

    結果:

    +1-2 +25 +5:06:07

    postgres

    postgress デフォルト設定です。

    このスタイルは、DateStyleの場合、8.4より前のPostgresリリースの出力と一致します。 パラメータがISOに設定されました 。

    SET intervalstyle = 'postgres';
    SELECT make_interval(1, 2, 3, 4, 5, 6, 7);

    結果:

    1 year 2 mons 25 days 05:06:07

    postgres_verbose

    このスタイルは、DateStyleの場合、8.4より前のPostgresリリースの出力と一致します。 パラメータがISO以外に設定されました 出力。

    SET intervalstyle = 'postgres_verbose';
    SELECT make_interval(1, 2, 3, 4, 5, 6, 7);

    結果:

    @ 1 year 2 mons 25 days 5 hours 6 mins 7 secs

    iso_8601

    このスタイルは、ISO8601標準のセクション4.4.3.2で説明されている「指定子付きのフォーマット」と一致します。

    SET intervalstyle = 'iso_8601';
    SELECT make_interval(1, 2, 3, 4, 5, 6, 7);

    結果:

    P1Y2M25DT5H6M7S

    1. MoodleMySQLデータベースの自動フェイルオーバーを設定する方法

    2. T-SQLのピボットデータ

    3. PostgreSQLで月ごとの成長を計算する方法

    4. SQL-サーバーのIPアドレスを取得するためのクエリ