MySQL选择取决于一天中的时间

时间:2014-01-23 16:49:06

标签: mysql

我想从MySQL表中选择并根据一天中的时间进行过滤:

if now > 10am select uploaded date where created date is today

if now < 10am select uploaded date where created date is yesterday

2 个答案:

答案 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个空结果集)。