【发布时间】:2021-01-08 08:09:37
【问题描述】:
为什么空字符串'' 会呈现为'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)
【问题讨论】:
-
我猜因为''发生了隐式类型转换,所以''被默认日期替换,1900-01-01
-
空白是从哪里来的?您是否尝试导入带有可选日期字段的 CSV 文件?在这种情况下,您应该配置导入代码以用空值替换空字段。 一些导入方法允许您对每个字段进行配置
标签: sql-server tsql azure-sql-database