-2

我有一个比较日期的sql语句,基本上是这样的:

date1=date2

现在的问题是,如果 date 1 == 08/10/2013 12:00 和 date2 == 08/10/2013 13:00 由于时间戳不同,则不会返回结果集。如何在忽略时间戳的同时做到这一点?

谢谢

4

4 回答 4

2

在许多数据库中,这将起作用:

trunc(date1) = trunc(date2)

这将截断日期/时间值,因此只保留日期。这可能适用于使用日期字段的 Oracle 和 MySQL。但这取决于数据库和字段的类型(时间戳与日期或日期时间)。

于 2013-10-08T18:07:49.970 回答
0

另一种选择,如果您使用的是 SQL Server

WHERE DateDiff(day, date1, date2) = 0
于 2013-10-08T20:40:03.540 回答
0

假设 SQL 2008+

WHERE cast(date1 as date) = cast(date2 as date)
于 2013-10-08T22:01:57.477 回答
0

比较两者,但使用Date(),例如:

WHERE DATE(date1) = DATE(date2);

不过,语法可能完全取决于您使用的数据库。

于 2013-10-08T18:07:36.657 回答