日期:2014-05-17  浏览次数:20661 次

查询的时候发生错误怎么忽略?
查询的时候需要把一个字符串的类型转化为datatime

数据量很大,我查询语句里面有一个 cast ([ACTION_DATE] as datetime) 这样一句话,但查询过程报出“从字符串向 datetime 转换时失败。” 而终止,这样的错误,但数据里面99% 应该都是正确的(我也没不好找出哪条出现错误),怎么忽略不能转化的,让查询继续下去 ~?

------解决方案--------------------
SQL code

select * from tb where ISDATE(时间字段)=0

这样找出不是日期的数据行

------解决方案--------------------
cast ([ACTION_DATE] as datetime) 是作为条件吗

加个判断处理

case when ISDATE([ACTION_DATE]=1 then cast ([ACTION_DATE] as datetime
else [ACTION_DATE] end