将多个varchars转换为datetime,忽略错误或将它们作为批处理进行处理

时间:2014-05-06 00:32:54

标签: sql sql-server-2008

我试图找到一种方法将一行varchars转换为datetime' s,而不是在循环中进行。

说我有一张桌子:

dateText varchar(20),
dateDate dateTime

dateText字段填充的日期格式为20140506yyyyMMdd)。我希望使用转化填充dateDate字段,但忽略发生的任何错误。因此,如果一个失败,我不希望整个操作失败。

是否可以执行更新,忽略它失败的行的错误?

修改 我曾经以为ISDATE命令对我不起作用,但经过双重检查(感谢下面的Gordons评论),似乎我可能只是输错了。所以这可以通过以下方式完成:

update mytable
set dateDate = case when ISDATE(dateText) = 1
                    then convert(dateText)
                    else //do something else or ignore

0 个答案:

没有答案