如果更新SQL语句中出现错误,请设置默认值

时间:2015-07-01 15:49:59

标签: sql-server datetime sql-server-2012

在Sql Server 2012中是否有办法在列上设置默认值,例如:

convert(datetime,'1900/1/01', 120)

如果更新语句失败:

update Table1 set [UpdDate] = CONVERT(datetime, [UpdDate0])

例如,update语句在UpdDate0上遇到奇怪的值(英文或中文字母),因此无法将它们转换为日期时间并失败。

在这些情况下,我希望能够设置我提到的默认值,甚至是空白值,任何事情都会比错误更好。

感谢您的任何建议!

1 个答案:

答案 0 :(得分:3)

你可以使用try_convert。下面给出的东西

SELECT CASE WHEN TRY_CONVERT(float, 'test') IS NULL THEN 'Cast failed' ELSE 'Cast succeeded' END AS Result;