我想从MySQL表中选择并根据一天中的时间进行过滤:
if now > 10am select uploaded date where created date is today
if now < 10am select uploaded date where created date is yesterday
答案 0 :(得分:0)
我认为你必须使用Cron jobs。
然后,你的sql将是这样的:
WHERE tbl.TimeCreated = DATEADD(day, DATEDIFF(day, 0, GETDATE()), 0)
假设字段的格式为:DateTime(YYYY-MM-DD HH:MM:SS)
答案 1 :(得分:0)
这应该做你需要的。
SELECT
`uploaded_date`
FROM
`table`
WHERE
`created_date` = CASE WHEN CURTIME() > 100000
THEN CURDATE()
ELSE CURDATE() - INTERVAL 1 DAY
END
你可以在this fiddle中看到一个类似的例子,它应该在早上返回单行“AM”,中午返回“中午”,下午返回“PM”(以及2个空结果集)。