[英]How to remove a specific character from a string, only when it is the first or last character in the string.
[英]How to remove a specific character from the string
使用SQL Server 2008
像這樣的字符串: 'C/123232323' or '/343434343443' or 'C2323232322'
我要從字符串中刪除C和/
試過查詢
選擇替換('/ 1233434','C /','')
如果C /都在上面,則上面的查詢有效。 如果/僅在那里,則替換不起作用。 如果C僅存在,則替換不起作用。 如何同時滿足這兩個條件
預期產量
123232323
343434343443
2323232322
需要查詢輸出
您可以通過嵌套replace()
來實現此目的,如下所示:
select replace(replace('C/12341234','/',''),'C','')
可能不是最漂亮的,但它可以工作:)
您可以使用兩個嵌套的REPLACE
:
WITH SampleData(string) AS(
SELECT 'C/123232323' UNION ALL
SELECT '/343434343443' UNION ALL
SELECT 'C2323232322'
)
SELECT REPLACE(REPLACE(string,'C',''),'/','')
FROM SampleData
使用Patindex + Substring
DECLARE @str VARCHAR(50)='/343434343443' ---or '/343434343443' or 'C2323232322'
SELECT Substring(@str, Patindex('%[0-9]%', @str), Len(@str))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.