【MariaDB】曜日と日付を併せて取得できるSELECT文【SQL】

MariaDB ゆるプロ日記 SQL
この記事は約2分で読めます。

この記事の最終更新日: 2023年2月1日

MariaDBでは、MySQLで使えるDATE_TRUNC関数使えません。

MariaDBで複数の日付の曜日ごとの全ての値を取得するには、DATE_FORMAT関数DAYNAME関数を使用する必要があります。

SELECT DATE_FORMAT(timestamp_column, '%Y-%m-%d') as date,
       DAYNAME(timestamp_column) as day_of_week, 
       value_column 
FROM table_name 
WHERE timestamp_column BETWEEN 'start_date' AND 'end_date' 
GROUP BY date, day_of_week, value_column 
ORDER BY date;

補足

  • timestamp_columnはで日時を保持するカラムで、timestamp型でもdate型でも問題なし
  • value_columnが取得したい値を保持するカラム
  • start_dateend_dateは取得したい期間の開始日と終了日
  • DATE_FORMAT関数は、日付を指定された形式に変換する関数で、今回は %Y-%m-%d と指定しているので、日付が一致する曜日ごとの値を取得
  • DAYNAME()関数は、指定された日付の曜日を返す関数

コメント

タイトルとURLをコピーしました