在Sql Server 2012中是否有办法在列上设置默认值,例如:
convert(datetime,'1900/1/01', 120)
如果更新语句失败:
update Table1 set [UpdDate] = CONVERT(datetime, [UpdDate0])
例如,update语句在UpdDate0上遇到奇怪的值(英文或中文字母),因此无法将它们转换为日期时间并失败。
在这些情况下,我希望能够设置我提到的默认值,甚至是空白值,任何事情都会比错误更好。
感谢您的任何建议!
答案 0 :(得分:3)
你可以使用try_convert。下面给出的东西
SELECT CASE WHEN TRY_CONVERT(float, 'test') IS NULL THEN 'Cast failed' ELSE 'Cast succeeded' END AS Result;