MySQLで1日の起点を変更する方法
MySQLで1日毎の集計を行う際、例えば2020/01/01のデータは2020/01/01 00:00:00 ~ 2020/01/01 23:59:59になるが、「00:00:00」の部分を任意に指定したいというケースがあった。例えば5時を起点とすると2020/01/01 05:00:00 ~ 2020/01/02 05:00:00を2020/01/01のデータとして取り扱いたい(正確には4:59:59だが省略)。以下対応方法のメモ。
SQL文
以下の通りdate_format時に起点の時間分マイナスにすることで対応できる。
date_format((ymd - interval 5 hour), "%Y-%m-%d") AS format_ymd
注意点
Where句でymd検索した場合はdate_formatされる前のデータを対象に検索するっぽい。
関連記事
-
-
お名前.comの共用サーバー(SD)にphpmyadminを入れる
公式で書いてあるやつは3.4.2だけど、もうちょっと新しいバージョンを入れたかっ ...
-
-
MySQLのエラーメール送付
MySQLエラーを取得してエラーメール送付。 <? error_repor ...
-
-
MySQL/Apacheの再起動
忘れないようにメモ。 ■MySQL service mysqld restart ...
-
-
MySQLiでDELETE文
MySQLiでDELETE文 ■ソース $mysqli = new mysqli ...
-
-
エラー管理まとめ
■エラーログをとる。 error_reporting(E_ALL ^ E_NOT ...
-
-
MySQLでWhere句を使ってカラム指定でデータコピー
MySQLで大量のデータを保存しているテーブルがあり、そのデータを絞った上で尚且 ...
-
-
MySQLで同一サーバーの異なるDB内のテーブルをJOINする
同一のMySQLサーバーでdb1データベースのtable1テーブルと、db2デー ...
-
-
MySQLでカラム数の異なるテーブルを結合する(UNION)
MySQLでカラム数の異なるテーブル同士をUNIONで結合させたかった。ただ、何 ...
-
-
MySQLでユニークキーをはる
MySQLでseqとcodeみたいなものをあわせて ユニークキーをはりたかった。 ...
-
-
MySQLでIPアドレスを数値として入れると変になる
MySQLでIPアドレスをINET_ATON関数を用いてINT型に変換し格納する ...
- PREV
- PHPとStripeで定額課金(サブスクリプション)実装
- NEXT
- Chart.jsでグラフの描写