serverapps:db:mysql:mysqldate
特定の日付
先月の末日
DATE( DATE_SUB(NOW(), INTERVAL DAYOFMONTH(NOW()) DAY) )
現在 – 今月の今までの日数 = 先月末日の現時刻 で、DATEで日付に丸める。
今月の初日
DATE( DATE_SUB(NOW(), INTERVAL DAYOFMONTH(NOW())-1 DAY) )
現在 – (今月の今までの日数-1) = 今月初日の現時刻 で、DATEで日付に丸める。
今月の末日
LAST_DAY(NOW())
Nヶ月前の初日
DATE( DATE_SUB( DATE_SUB(NOW(), INTERVAL DAYOFMONTH(NOW()) -1 DAY), INTERVAL N MONTH))
Nヶ月前の末日
LAST_DAY( DATE( DATE_SUB( DATE_SUB(NOW(), INTERVAL DAYOFMONTH(NOW()) -1 DAY), INTERVAL N MONTH)))
月次集計バッチで前月の期間を指定する場合・・・
SELECT * FROM logs WHERE logs.created >= DATE(DATE_SUB(NOW(), INTERVAL DAYOFMONTH(NOW()) DAY)) AND logs.created < DATE(DATE_SUB(NOW(), INTERVAL DAYOFMONTH(NOW())-1 DAY))
serverapps/db/mysql/mysqldate.txt · 最終更新: 2021/05/11 02:29 by hayashi