我在My_Table
中有一个MyDate(数据类型为DATE)列MyDate
2016-11-01
0001-01-01
2016-08-01
当我执行以下查询时
SELECT ISDATE(MyDate),* FROM My_Table
我收到以下错误
消息8116,级别16,状态1,行2参数数据类型日期无效 对于isdate函数的参数1。
我认为问题可能是日期'0001-01-01'
。但是当我执行
SELECT ISDATE('0001-01-01')
它按预期工作并生成结果0
。(即不是日期)
但是
DECLARE @V AS DATE = '0001-01-01' --no error
SELECT ISDATE(@V) --error
这产生了同样的错误。 我在这里错了什么?
修改: - 如果我从Mytable中删除了值'0001-01-01'
,则查询SELECT ISDATE(MyDate)
正常运行,无需任何数据类型转换。