【发布时间】:2015-07-01 15:49:58
【问题描述】:
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;
标签: sql-server datetime sql-server-2012