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