选择除今天之外的所有行?

3

我想选择除了最近24小时的所有行,而是想选择不是今天的行。我已经从datetime列中使用DATE()获取了日期。

如何更改查询以实现此目的?

select Date, DATE(Date) AS Day
WHERE Date < DATE_SUB(CURDATE(),INTERVAL 1 DAY)
2个回答

3

比你想象的更容易:

SELECT Date, DATE(Date) AS Day
WHERE Date < CURDATE()

1
打我慢了几秒钟。:) +1,并删除我的回答。 - Ken White
@KenWhite,这种情况经常发生在我身上! - bfavaretto

0

楼主说:

我想选择那些不是今天的

bfavaretto的解决方案:

SELECT Date, DATE(Date) AS Day
WHERE Date < CURDATE()

回答这个问题:

我想选择那些日期在今天之前

为了正确回答原帖的问题,应该运行以下查询(假设日期是一个datetime类型,因为原帖中的转换,我将其转换为一个日期字段,但如果Date实际上是一个日期字段,则不需要转换):

SELECT Date, DATE(Date) AS Day FROM aTable
WHERE Date(date) != CURDATE()

1
虽然我可以选择任意一种方法,但技术上这是正确的答案。谢谢。 - lisovaccaro

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接