• PostgreSQL の datetime (タイムスタンプ) から時間を抽出するには、DATE_PART() 関数を 「hour」 単位で使用します。

Postresql の DATE_PART() 関数の構文:

DATE_PART(unit, source)

unit: 抽出する日付またはタイムスタンプの部分を指定します (例: 「年」、「月」、「日」、「時間」、「分」、「秒」など)。

source: 指定された部分を抽出する日付またはタイムスタンプ。

私たちの場合。unitの値は「hour」。

postgresql の datetime(timestamp) から 「hour」 を抽出する簡単な例:

postgresql で datetime (timestamp) から「時間」を抽出するには、DATE_PART() 関数を使用します。

以下の例では、日付または日付時刻から「hour」を抽出するために、単位引数として「hour」を渡し、ソース引数として日付時刻を渡します。

SELECT DATE_PART('hour', '2024-02-24 15:30:45.123456'::timestamp) AS hour_part;

出力:

postgresql で日付時刻 (タイムスタンプ) から時間を抽出する

postgresqlの現在の日付から「hour」を抽出します。

このクエリは、CURRENT_TIMESTAMP関数を使用して現在の日時を取得し、DATE_PART()を使用して「hour」を抽出します。

SELECT CURRENT_TIMESTAMP AS current_datetime, DATE_PART('hour', CURRENT_TIMESTAMP) AS hour;

出力:

postgresql で日付時刻 (タイムスタンプ) から時間を抽出する 2

DATE_PART() を使用して postgresql テーブルの日付から「hour」を抽出します。

以下のStudent_detailテーブルを例として使用して、PostgreSQLで日付から「hour」を抽出する方法を説明します。

Student_detail:

postgresql で日付時刻 (タイムスタンプ) から時間を抽出する 3

上記のテーブルでは、DATE_PART() 関数を使用します。この関数は、「hour」と「birthdaytime」という列を引数として受け取ります。これにより、「birthdaytime」列から時間が抽出され、以下に示すように postgresql テーブルの新しい列に格納されます。

select *, DATE_PART('hour', birthdaytime::timestamp) AS hour from Student_detail

結果のテーブルには「hour」列が含まれるようになります

出力:

postgresql で日付時刻 (タイムスタンプ) から時間を抽出する 4

Extract() を使用して、postgresql テーブルの Date から「hour」を抽出します。

以下のStudent_detailテーブルを例として使用して、PostgreSQLで日付から「hour」を抽出する方法を説明します。

Student_detail:

postgresql で日付時刻 (タイムスタンプ) から時間を抽出する 5

上記の表では、  抽出する()この関数は、「hour」と「birthdaytime」という列を引数として受け取ります。これは、「birthdaytime」列から時間を抽出し、以下に示すように postgresql テーブルの新しい列に格納します。

Select *, extract(HOUR FROM birthdaytime) as hour from student_detail

結果のテーブルには「hour」列が含まれるようになります

出力:

postgresql で日付時刻 (タイムスタンプ) から時間を抽出する 6