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

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

    PostgreSQLでは、 date_part() 関数は、日付/時刻の値から、年、月、時、分などのサブフィールドを取得します。

    extract()と同等です 構文は少し異なりますが、関数です。

    構文

    この関数の構文は次のとおりです。

    date_part('field', source)

    場所:

    • 'field' 取得したい日付部分用です。このパラメーターは、名前ではなく文字列値である必要があります。有効なフィールド名のリストについては、以下を参照してください。
    • ソース タイムスタンプです または間隔 日付部分を取得する必要があります。

    例–タイムスタンプ

    タイムスタンプからフィールドを取得する方法を示す基本的な例を次に示します。 。

    SELECT date_part('hour', timestamp '2020-09-16 22:33:15');

    結果:

    22

    この例では、タイムスタンプから時間フィールドを取得します 値。

    ここでも同じですが、今回は年フィールドを取得します。

    SELECT date_part('year', timestamp '2020-09-16 22:33:15');

    結果:

    2020

    例–間隔

    この例では、間隔から日付部分を取得します 値。

    SELECT date_part('hour', interval '5 hours 30 minutes');

    結果:

    5

    次の例では、分数しか指定していなくても、関数は時間数を正しく返します。

    SELECT date_part('hour', interval '120 minutes');

    結果:

    2

    ただし、この手法を当てにしないでください。期待どおりの結果が得られるとは限らない場合があります。

    例:

    SELECT date_part('hour', interval '100 minutes');

    結果:

    1

    そしてもう1つ:

    SELECT date_part('minute', interval '2 hours');

    結果:

    0

    フィールド名

    最初の引数は次のいずれかになります:

    • 世紀
    • 10年
    • ダウ
    • doy
    • エポック
    • 時間
    • isodow
    • isoyear
    • マイクロ秒
    • ミレニアム
    • ミリ秒
    • 四半期
    • タイムゾーン
    • timezone_hour
    • timezone_minute

    1. SQLiteで指定された範囲内でランダムな数値を生成する方法

    2. コマンドラインからのsqlplusステートメント

    3. MariaDBでのSOUNDEX()のしくみ

    4. スーパーユーザーCREATEEXTENSIONhstoreのみが作成でき、Herokuでは作成できないのはなぜですか?