ホームページ > データベース > mysql チュートリアル > PostgreSQLで前月の最終日を取得する方法は?

PostgreSQLで前月の最終日を取得する方法は?

Susan Sarandon
リリース: 2025-01-06 09:24:41
オリジナル
957 人が閲覧しました

How to Get the Last Day of the Previous Month in PostgreSQL?

PostgreSQL で前月の最終日を決定する

データベースにクエリを実行して特定の日付範囲内のレコードを取得する場合、多くの場合、前月の最終日を含める必要があります。前の月。この範囲は、現在の日付に応じて毎月変わります。

関数を使用しない

関数を使用せずに前月の末日を決定するには、次のクエリを使用できます。日付列:

SELECT *
FROM tbl
WHERE my_date BETWEEN date_trunc('month', now())::date - 1
               AND     now()::date
ログイン後にコピー

date_trunc('month', now()) 関数は、現在の月の最初の日を返します。減算演算子を使用してこの結果から 1 日を減算すると、前月の最終日が得られます。

タイムスタンプ列の場合、クエリは少し異なります。

SELECT *
FROM tbl
WHERE my_timestamp >= date_trunc('month', now()) - interval '1 day'
AND    my_timestamp <  date_trunc('day'  , now()) + interval '1 day'
ログイン後にコピー

date_trunc ('month', now()) 関数は、現在の月の始まりをタイムスタンプとして返​​します。前月の最終日を取得するには、-interval '1 day' 式を使用して 1 日を減算します。

2 番目の条件では、date_trunc('day' , now() に 1 日を追加します。 ) 範囲に「今日」がすべて含まれるようにするために、間隔「1 日」を使用した結果。

関数を使用する

関数を使用する場合は、 LAST_DAY() 関数を使用して同じ結果を得ることができます。

SELECT *
FROM tbl
WHERE my_date BETWEEN LAST_DAY(DATE_SUB(NOW(), INTERVAL 1 MONTH)) AND NOW()
ログイン後にコピー

この関数は、現在の日付に基づいて前月の最終日を明示的に計算します。

以上がPostgreSQLで前月の最終日を取得する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート