替换SQL Server 2012中的点,逗号和连字符

gag*_*ron 0 regex sql sql-server sql-server-2012

我有标题中提到的问题.我有一个包含一些部分的数据库,其代码如下:

ID | Part_name | Part_code
---+-----------+-----------
1  | ...       | 123.1-233
2  | ...       | 12.32,211
3  | ...       | 123-12,22
Run Code Online (Sandbox Code Playgroud)

我想执行一个SELECT查询,它将返回没有点,逗号和连字符的结果.我认为它可以完成,REPLACE()但我不能使它工作.

我试过了:

select replace(Parts.Part_code, '.', '') 
from Parts;
Run Code Online (Sandbox Code Playgroud)

并且它可以工作,但我无法使用任何正则表达式的多个标志,似乎SQL Server忽略方括号,因为它不适用于:

select replace(Parts.Part_code, '[\.]', '') 
from Parts;
Run Code Online (Sandbox Code Playgroud)

有帮助吗?

Sha*_*eis 8

我害怕删除多个替换多个字符

SELECT REPLACE(REPLACE(REPLACE(Part_code, ',', ''), '.', ''), '-', '') 
FROM Parts;
Run Code Online (Sandbox Code Playgroud)