ISDATE产生DATE(数据类型)值

时间:2018-02-27 06:10:12

标签: sql-server tsql

我在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)正常运行,无需任何数据类型转换。

0 个答案:

没有答案