-3

我正在寻找有关将用户定义的函数组合在一起以将 varchar 转换为数字的提示。诀窍是我追求将字符串的常见文本表示形式转换为数字的方法。此外,如果它不能被解析为数字,我希望它返回 NULL 而不是抛出错误并停止查询。

例子:

  • varchar '10%' 应解析为数字 0.1(不删除 % 符号并除以 100)
  • varchar '$1,00.1234' 应解析为数字 100.1234(删除 $ 符号和 ,)
  • varchar '$1k' 应解析为数字 1000(k 转换为乘以 1000)
  • varchar '$1M' 应解析为数字 1000000(m 转换为乘以 100 万)
  • varchar '$1B' 应解析为数字 1000000000(b 转换为乘以 10 亿)
  • varchar '100 ' 应解析为数字 1000 (LTrim & RTrim)
  • varchar 'Random Text' 应解析为数字 NULL(Null 不会引发错误)
4

1 回答 1

2

我建议您使用 CLR 函数来解析这种复杂性。然后修复数据

除了非数字值之外,您还可以混合使用货币、百分比、混合小数/分隔符格式。

于 2012-10-31T10:25:30.040 回答