例えば、今日が2020年7月8日であれば、前月末日は2020年6月30日になります。
計算で導くなら先月末日から経過してしまった日数を元に戻せば良いわけです。
まずは、今日が何日か求めます。
SELECT DATEPART(DD,'2020/07/08') 結果:8
これを8日経過していた=8日をマイナスしたいので
SELECT -DATEPART(DD,'2020/07/08') 結果:-8
後は日付に結果の-8を足してあげれば(8日前に戻してあげれば)いいので
SELECT DATEADD(DD, -DATEPART(DD,'2020/07/08'), '2020/07/08') 結果:2020-06-30 00:00:00.000
で完成。
古いSQL Serverでも対応可能なので覚えておくと便利です。
コメント