比较SQL中Datetime的Date部分

时间:2011-01-25 21:50:15

标签: sql

我正在使用SQL,我有两列日期时间字段 我想要做的只是比较这些日期时间字段的日期部分,看看是否有不同。

例如,

          col1                     |    col2
'2010-01-02 23:58:00.000'          | '2010-01-03 06:21:00.000' 
'2010-01-04 16:03:00.000'          | '2010-01-04 21:34:00.000' 

Row1的日期不同,但第2行相同

我正在考虑datediff(day,col2,col1) < 1之类的问题//然后这是不同的,它们是相同的。

不确定如何解析日期然后比较两个字段。

5 个答案:

答案 0 :(得分:2)

abs(datediff(day, col1, col2)) > 0 

答案 1 :(得分:2)

这适用于许多数据库:

DATE(col1) = DATE(col2)

答案 2 :(得分:1)

通过“使用SQL”,我认为你的意思是SQL Server。

对于col1和col2为不同日期的所有记录,您可以使用!=

SELECT *
FROM TBL
WHERE DateDiff(d, col1, col2) != 0

答案 3 :(得分:0)

查看DatePart功能。它可以从日期中提取日,月,年等,这就是您要问的问题。

http://msdn.microsoft.com/en-us/library/ms174420.aspx

答案 4 :(得分:0)

如果您使用的是SQL Server(2008版及更高版本),则可以通过将日期时间字段的日期部分转换为DATE格式来比较它们:

else if