开发者社区> 问答> 正文

SQL Server-仅在两个timedate字段之间比较日期

Table1有两列- DateTime1是type datetimeoffset(7)和DateTime2is type datetime2(7)。

在同一条记录的两列中给出这两个值:

DateTime1                               DateTime2
2019-12-17 06:50:12.0000000 +00:00      2019-12-17 06:57:44.3620964

如果我根据以下条件运行查询:

SELECT *
FROM Table1
WHERE DateTime1 <> DateTime2

我不希望以上记录返回。我希望仅基于YYYY-MM-DD值将这两个值评估为相等。

我尝试过,LEFT但似乎无法正常工作,因此我认为我可能需要类似CAST或的东西CONVERT?

展开
收起
祖安文状元 2020-01-05 14:34:29 458 0
1 条回答
写回答
取消 提交回答
  • 您可以使用CONVERT仅考虑DATE(而不考虑时间)

    SELECT *
    FROM Table1
    WHERE CONVERT(DATE, DateTime1) <> CONVERT(DATE, DateTime2)
    
    

    您还可以使用DATEDIFF确定是否少于24小时。

    2020-01-05 14:34:38
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
SQL Server 2017 立即下载
GeoMesa on Spark SQL 立即下载
原生SQL on Hadoop引擎- Apache HAWQ 2.x最新技术解密malili 立即下载