勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

MySQLでデータの集計時に1日の起点を任意の時間に変更する方法

   2024/01/16  MySQL データベース

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される前のデータを対象に検索するっぽい。

 - MySQL データベース

  関連記事

MySQLでスレッドの実行状況を表示しスレッドの経過時間チェックや特定スレッドを強制終了する方法

データベースサーバが重たく、原因を調査する機会があった。サーバ自体のメモリやCP ...

MySQLで全文検索(フルテキストインデックス)を使用する方法

普段利用しているサイトに検索用のテキストボックスがあり、そこに何らかのワードを入 ...

MySQLでサイズの大きいファイルをインポートする際の注意点

MySQLでサイズの大きい(3GBほどの)dumpファイルを異なるサーバに移行し ...

MySQLでテキスト(日本語、半角英数字)を暗号化・復号化する方法

MySQLでデータを登録する際に暗号化したいというケースがあった。対象のデータは ...

MySQLで特定カラムの
タグを改行コードに一括置換させる方法

MySQLで特定カラムの<br>タグを改行コードに一括置換したかった ...