【发布时间】:2013-12-22 11:35:11
【问题描述】:
如果输入数据损坏,有什么方法可以处理 SQL 强制转换?
假设我有一列数据类型为 NVarchar(10),并希望将此列转换为 int。
我们还假设某些nvarchar 值已损坏,因此无法将它们转换为int。
有什么方法可以默默地忽略这些,将它们默认为 0 或类似的?
【问题讨论】:
-
SQL Server 2012 现在具有
TRY_PARSE、TRY_CAST和TRY_CONVERT函数,可以完全满足您的需求。但这些仅限于 2012(及更新版本)。 -
是否有任何后备方案?例如以某种方式首先匹配数字的案例?
标签: sql-server tsql casting