PostgreSQLで2つの日付または日付時刻(タイムスタンプ)の差を日数で取得するには、単純な差記号(減算)を使用します。PostgreSQLで2つの日付の差を求める回りくどい方法として、extract()関数を使用することもできます。2つのアプローチの例を見てみましょう。また、例も検討します。PostgreSQL テーブルの days にある 2 つの日付または datetime(timestamp) 列の差を取得する方法の例。
2つの日付の日数差単純な差分を使用する PostgreSQL:
単純な差分記号は、以下に示すように、2 つの日付の差を日数で計算するために使用されます。
例1:
SELECT '2024-02-28'::date - '2024-02-24'::date AS date_difference_in_days
出力:

2つの日付の日数差PostgreSQL EXTRACT() を使用する:
EXTRACT() 関数では、日付の差を計算する必要がある 2 つの日付を渡します。また、PostgreSQL で 2 つの日付の差を日数で計算する DAY を引数として受け取ります。
例1:
SELECT EXTRACT(DAY FROM '2024-02-28 15:30:00'::timestamp - '2024-02-24 10:45:00'::timestamp) AS date_difference_in_days;
出力:

2つの日付列の日数差PostgreSQL:
方法1
この例では、以下の Student_detail2 テーブルを使用して、PostgreSQL で 2 つの日付列の日数の差を見つける方法を説明します。
Student_detail2:

単純な差分シンボルは、以下に示すように、PostgreSQL テーブル内の 2 つの日付列の差を日数で計算するために使用されます。
SELECT *, examdatetime::date - birthdaytime::date As date_diff_in_days from Student_detail2
2つの日付列を日付に型変換し、その差を計算したので、切り捨てられます。
出力:

方法2
日付と時間の2つの日付列の差を見つけるために、以下の方法を使用しました。
SELECT *, examdatetime::timestamp - birthdaytime::timestamp As date_diff_in_days from Student_detail2
2つの日付列をタイムスタンプに型変換して差を計算しました。そのため、日数での日付差を計算する結果の列には、以下に示すように、日数と時間の差が表示されます。
出力:

2つの日付列の日数差PostgreSQL EXTRACT() を使用する:
この例では、以下の Student_detail2 テーブルを使用して、PostgreSQL で 2 つの日付列の日数の差を見つける方法を説明します。
Student_detail2:

EXTRACT() 関数では、日付の差を計算する必要がある 2 つの日付列を渡します。また、PostgreSQL の 2 つの日付列の差を日数で計算する DAY を引数として受け取ります。
SELECT *,EXTRACT(DAY FROM examdatetime::timestamp - birthdaytime::timestamp) AS date_diff_in_days from Student_detail2;
2 つの日付列をタイムスタンプに型変換し、その違いを検出したので、結果のテーブルは次のようになります。
出力:
