【发布时间】:2017-01-13 21:08:26
【问题描述】:
我只是偶然发现了这个,找不到任何技术解释:
在 SQL Server 2014 中:
SELECT CAST('' AS DATETIME);
1900-01-01 00:00:00.000
SELECT CAST(0 AS DATETIME);
1900-01-01 00:00:00.000
SELECT CAST('' AS DATE);
1900-01-01
SELECT CAST(CAST(0 AS DATETIME) AS DATE);
1900-01-01
SELECT CAST(0 AS DATE);
消息 529,第 16 级,状态 2,第 4 行
不允许从数据类型 int 到 date 的显式转换。
为什么从空字符串到DATE 和DATETIME 的CAST 可以工作,而从0 它只能作为DATETIME 工作?
我对技术解释感兴趣
【问题讨论】:
标签: sql sql-server casting sql-server-2014