【发布时间】:2019-02-15 20:43:50
【问题描述】:
我有一列字母数字 ID,我们称之为 [IDS]。
id 只能是数字,但其中一些有杂散字符。
例如:
[IDS]
- 012345A
- 23456789AF
- 789789
我只想将这些转换为数字 - 所以输出将是:
[IDS]
012345
23456789
789789
我想编写一些代码,在列中搜索字母表 (A-Z) 中的所有字母并删除它们,以便提取数值。
我知道我可以做一个 replace(replace(replace(..etc),但是对于字母表中的所有 26 个字母,这并不理想。
我现在正在尝试使用“声明@”来解决它,但这些似乎是为特定字符串设计的,我希望搜索和替换整个列。
使用 Microsoft SQL Server。
谢谢
【问题讨论】:
-
您能否展示我们可能在您的表格中看到的所有
IDS值的包容性示例?请向我们展示更多数据。在一般情况下,进行丑陋的替换或使用自定义 UDF 基本上是您的选择。 -
@sqlproblem 。 . .字母总是在最后吗?
-
@GordonLinoff 到目前为止是的,但理想情况下,我们想要一个解决方案,如果它们将来不存在的话
-
@sqlproblem 。 . .那么 UDF 是最好的解决方案,虽然你不会喜欢它的性能。
标签: sql sql-server