【问题标题】:SQL Server key value pair convert varchar to numeric without exceptions [closed]SQL Server键值对将varchar无例外地转换为数字[关闭]
【发布时间】:2012-10-31 10:22:36
【问题描述】:

我正在寻找有关将用户定义的函数组合在一起以将 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 不会引发错误)

【问题讨论】:

    标签: sql-server parsing text-parsing


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-16
      • 1970-01-01
      • 2023-03-28
      • 2011-08-18
      • 1970-01-01
      相关资源
      最近更新 更多