转换日期和/或时间从字符串转换失败,即使结果是正确的

nee*_*eko 1 sql t-sql sql-server

这是我的查询:

set dateformat mdy;
    select cast([File Date] as date) as 'test' from gpdetail
Run Code Online (Sandbox Code Playgroud)

产生此错误:

消息241,级别16,状态1,行2转换在从字符串转换日期和/或时间时失败.

知道如何摆脱错误吗?任何帮助非常感谢已经坚持这个年龄:(

在结果选项卡下,它显示正确的结果

但是,在结果选项卡下,它显示正确的结果

这是实际数据

这是实际数据

Gor*_*off 5

开始的地方是isdate()功能:

select [File Date]
from gpdetail
where isdate([File Date]) = 0;
Run Code Online (Sandbox Code Playgroud)

这可能会找到日期不符合的地方.

如果您只想忽略格式错误的字符串,请尝试:

select (case when isdate([File Date]) = 1 
             then cast([File Date] as date) 
        end) as test
from gpdetail
Run Code Online (Sandbox Code Playgroud)