0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

[MySQL] 昨日の特定時間の指定

Posted at

最近SQLクエリを書くことが増え、つまづいた部分のメモ。

結論


CONCAT(CAST(DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 1 DAY), "%Y-%m-%d") AS CHAR), "16:00:00")

やりたかったのは、あるレコードの登録日カラムの値が現在日時を基準に”昨日の16時以降”であるかどうかの判定

ただ、マイナス○時間やマイナス○日とかは出来るものの、時間の指定ができず、、
MySQLで「おととい」「昨日」「明日」「あさって」

そこで使用したのが、以下の関数

CONCAT関数

→日付と時刻を結合
日付はDATE_SUB関数を使用して今日からマイナス1日
時刻は定時を記載

DATE_FORMAT関数

→DATE_SUB関数で変換した日時を年月日で指定

CAST関数を使用しているのは、日時(型:TIMESTAMP)をCHAR型にキャストするため

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?