Sql 如何从字符串中删除特定字符

Sql 如何从字符串中删除特定字符,sql,sql-server,Sql,Sql Server,使用SQLServer2008 类似以下字符串:'C/1232323'或'/3443'或'C23232322' 我想从字符串中删除C和/ 试问 选择替换('/1233434',C/','') 如果存在C/两者,则上述查询有效。如果存在/仅存在,则更换不起作用。如果C仅在那里,则更换不起作用。如何实现这两种条件 预期产量 123232323 343434343443 2323232322 需要查询输出您可以通过嵌套replace()来实现这一点,如下所示: select replace(repl

使用SQLServer2008

类似以下字符串:
'C/1232323'或'/3443'或'C23232322'

我想从字符串中删除C和/

试问

选择替换('/1233434',C/','')

如果存在C/两者,则上述查询有效。如果存在/仅存在,则更换不起作用。如果C仅在那里,则更换不起作用。如何实现这两种条件

预期产量

123232323
343434343443
2323232322

需要查询输出

您可以通过嵌套
replace()
来实现这一点,如下所示:

select replace(replace('C/12341234','/',''),'C','')

可能不是最漂亮的,但它可以工作:)

您可以通过嵌套
replace()
来实现这一点,如下所示:

select replace(replace('C/12341234','/',''),'C','')

可能不是最漂亮的,但它可以工作:)

您可以通过嵌套
replace()
来实现这一点,如下所示:

select replace(replace('C/12341234','/',''),'C','')

可能不是最漂亮的,但它可以工作:)

您可以通过嵌套
replace()
来实现这一点,如下所示:

select replace(replace('C/12341234','/',''),'C','')

可能不是最漂亮的,但它很有效:)

使用
Patindex+Substring

DECLARE @str VARCHAR(50)='/343434343443' ---or '/343434343443' or 'C2323232322'
SELECT Substring(@str, Patindex('%[0-9]%', @str), Len(@str)) 

使用
Patindex+子字符串

DECLARE @str VARCHAR(50)='/343434343443' ---or '/343434343443' or 'C2323232322'
SELECT Substring(@str, Patindex('%[0-9]%', @str), Len(@str)) 

使用
Patindex+子字符串

DECLARE @str VARCHAR(50)='/343434343443' ---or '/343434343443' or 'C2323232322'
SELECT Substring(@str, Patindex('%[0-9]%', @str), Len(@str)) 

使用
Patindex+子字符串

DECLARE @str VARCHAR(50)='/343434343443' ---or '/343434343443' or 'C2323232322'
SELECT Substring(@str, Patindex('%[0-9]%', @str), Len(@str)) 

您可以使用两个嵌套的
REPLACE

WITH SampleData(string) AS(
    SELECT 'C/123232323' UNION ALL 
    SELECT '/343434343443' UNION ALL 
    SELECT 'C2323232322'
)
SELECT REPLACE(REPLACE(string,'C',''),'/','')
FROM SampleData

您可以使用两个嵌套的
REPLACE

WITH SampleData(string) AS(
    SELECT 'C/123232323' UNION ALL 
    SELECT '/343434343443' UNION ALL 
    SELECT 'C2323232322'
)
SELECT REPLACE(REPLACE(string,'C',''),'/','')
FROM SampleData

您可以使用两个嵌套的
REPLACE

WITH SampleData(string) AS(
    SELECT 'C/123232323' UNION ALL 
    SELECT '/343434343443' UNION ALL 
    SELECT 'C2323232322'
)
SELECT REPLACE(REPLACE(string,'C',''),'/','')
FROM SampleData

您可以使用两个嵌套的
REPLACE

WITH SampleData(string) AS(
    SELECT 'C/123232323' UNION ALL 
    SELECT '/343434343443' UNION ALL 
    SELECT 'C2323232322'
)
SELECT REPLACE(REPLACE(string,'C',''),'/','')
FROM SampleData