カテゴリー
コンピューター

【MySQL】指定年月の初日から最終日までのリストを取得する SQL、その2

SQL

# @target に yyyymm を指定することで、その月の月初から月末までの日にちリストを返す。
SET @target = STR_TO_DATE('201601', '%Y%m');
SET @firdt_day = DATE_FORMAT(@target, '%Y-%m-01');
SET @last_day = DATE_FORMAT(LAST_DAY(@firdt_day),  '%Y-%m-%d');
SELECT DATE_FORMAT(day, '%Y-%m-%d')
FROM
(
    SELECT (@dt := @firdt_day) AS day FROM DUAL UNION ALL
    SELECT @dt := DATE_ADD(@dt, INTERVAL 1 DAY) FROM `information_schema`.COLUMNS WHERE @dt < @last_day
) AS tmp;

おわりに

前回の投稿の、シンプル版、日付特化型、ですの♪

以上です。

コメントを残す