sql server 2012 datetime比较中的超出范围值

Pho*_*_uy -1 sql-server datetime

我在sql server 2012中有这个查询:

SELECT CASE WHEN count(*) = 0 THEN 1 ELSE 0 END
FROM Table1
WHERE ('20131104 00:00:00' > end_date OR '20141104 29:59:59' < start_date)
Run Code Online (Sandbox Code Playgroud)

Table1 end_date并且start_date都是datetime,而不是null我不明白为什么我收到错误:" varchar数据类型转换为datetime数据类型导致超出范围的值. "如果我使用的是标准varchar日期时间格式(或者它不是?).如果我删除日期的时间部分查询工作正常.

Col*_*nty 8

29:59:59
Run Code Online (Sandbox Code Playgroud)

应该是23岁,不是吗?

  • 停止使用火星时间. (5认同)