mysql - 选择 * WHERE status <> 'deleted' 或 status <> 'completed' AND update_datetime < unix_timestamp(now() - 间隔 7 天)

标签 mysql sql datetime

如果 update_datetime 列早于 7 天(MySQL 版本 2013-04-11 11:22: 44).

这是我无力且失败的尝试:

WHERE
    status <> 'deleted'
 OR status <> 'completed'
AND update_datetime < unix_timestamp( now() - interval 7 day )

最佳答案

WHERE
    status <> 'deleted'
AND (
        (update_datetime < unix_timestamp( now() - interval 7 day ) AND status = 'completed')
    OR  (update_datetime >= unix_timestamp( now() - interval 7 day ))
)

如果 update_datetimeDATETIME 列,请改用它:

WHERE
    status <> 'deleted'
AND (
        (update_datetime < DATE_SUB(NOW(), INTERVAL 7 day) AND status = 'completed')
    OR  (update_datetime >= DATE_SUB(NOW(), INTERVAL 7 day))
)

关于mysql - 选择 * WHERE status <> 'deleted' 或 status <> 'completed' AND update_datetime < unix_timestamp(now() - 间隔 7 天),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15979297/

相关文章:

多年前的 javascript 时间戳并考虑闰年

mysql - 从表中选择前 X 行,忽略前 Y 行

mysql - 在多对多关系中选择同一字段的多个不同值

php - MySQL 更新语句不起作用 图片库

sql - 当您有两种类型的记录时,该表的最佳数据库设计是什么

datetime - 如何在 firebase 中获取 firebase 时间

php - 函数返回的数组的奇怪行为

sql - Postgres SUM 和 GROUP BY

sql - 通过 union all 使用多个 with 语句

mysql - 根据时间戳计算出总秒数