为什么将空字符串''
渲染为,'1900-01-01'
但NULL
留下一个值NULL
?
create table "dbo"."day" (day date)
insert into "dbo"."day" (day) values (NULL), ('')
select day from "dbo"."day"
day
NULL
1900-01-01
这是一个更简化的示例,该示例还返回1900-01-01
:
SELECT CAST('' as date)
NULL日期为NULL(未知值)。另一方面,空字符串的计算结果为0,在SQL Server中为隐式整数,表示自1900-01-01起的天数。您可以参考这篇文章。
因此,当我们尝试插入''
日期类型列时,等于插入1900-01-01
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句