【发布时间】:2012-08-12 23:54:48
【问题描述】:
我有一个现有的表,其中包含NVARCHAR 类型的“price_info”列。我想添加一个MONEY 类型的新列“价格”,并(在可能的情况下)将“价格信息”列的内容转换/复制到其中。
如果 'price_info' 仅包含数字数据,则可以轻松转换该值。但当然 'price_info' 也可以包含无法转换为 MONEY 类型的数据,在这种情况下会发生错误。
有没有办法只复制成功转换为MONEY 的值,而忽略所有其他行(或在这些情况下将“价格”列设置为 0)?
例如我想要的是这样的(伪代码):
update products set price = some_conversion_function(money, price_info, 0)
(其中 0 是转换失败时使用的默认值)。
【问题讨论】:
标签: sql-server sql-server-2008 tsql type-conversion