从sql中排除时间戳

时间:2013-10-08 18:05:18

标签: sql sql-server

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

date1=date2

现在问题是如果日期1 == 08/10/2013 12:00和date2 == 08/10/2013 13:00由于时间戳不同,则不返回结果集。如何在忽略时间戳的情况下执行此操作?

由于

4 个答案:

答案 0 :(得分:2)

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

trunc(date1) = trunc(date2)

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

答案 1 :(得分:0)

比较两者,但与Date()比较,如:

WHERE DATE(date1) = DATE(date2);

语法可能完全取决于您正在使用的数据库。

答案 2 :(得分:0)

另一个选项,如果您使用的是SQL Server

WHERE DateDiff(day, date1, date2) = 0

答案 3 :(得分:0)

假设SQL 2008 +

WHERE cast(date1 as date) = cast(date2 as date)