如果在“大于或等于”和“小于或等于”中使用相同的日期,则Where子句失败

时间:2016-08-04 15:00:12

标签: sql sql-server

为什么当date1date2dateField相同且有哪些行应该返回dateField == date1时,此查询不会返回任何行?

示例:

select * from tableName where dateField >= date1 and dateField <= date2

1 个答案:

答案 0 :(得分:1)

smalldatetime字段dateField的时间部分似乎全部为零,现在不是。解决方案是仅比较dateField的日期部分。

SELECT * 
FROM tableName
WHERE 
CONVERT(DATE, dateField) >= date1 AND CONVERT(DATE, dateField) <= date2