sql - 比较 DATETIME 和 DATE 忽略时间部分

标签 sql sql-server tsql sql-server-2008 datetime-conversion

我有两个表,其中列 [date] 的类型为 DATETIME2(0)

我必须仅通过日期部分(日+月+年)来比较两个记录,丢弃时间部分(小时+分钟+秒)。

我怎样才能做到这一点?

最佳答案

使用 SQL Server 2008 中新的 DATE 数据类型的 CAST 来仅比较日期部分:

IF CAST(DateField1 AS DATE) = CAST(DateField2 AS DATE)

关于sql - 比较 DATETIME 和 DATE 忽略时间部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1843395/

相关文章:

mysql - 我如何优化此 sql :select count(*) from `order` where `time` >1307894400000

sql - Oracle Apex 5 错误,ORA-00907 : missing right parenthesis. 看不到缺少的括号?

php - PHP/MYSQL编辑配置文件功能-错误的查询语法?

sql-server - SQL Server Reporting Services (SSRS) Web 门户无法与 Azure 应用程序网关 v2 配合使用

sql - SQL Server 在连接返回 false 的变量时是否会查看表?

sql - 在使用 DELETE TRIGGER DELETE 之前将已删除的值插入表中

mysql - 优化复杂的 MySQL 选择以进行报告

sql-server - 超过最大存储过程、函数、触发器或 View 嵌套级别(限制 32)

sql-server - 使用 t-sql 脚本启用/禁用 Sql Server 代理

sql-server - 有没有办法在字符串的开头放置一个不可见的字符来更改其排序顺序?