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