我有一種情況,我需要用存儲過程中的單個文字替換整個文本和方括號。 (Iam使用Sql Server 2012)。sql查詢括號 - 用單個字符替換所有文本
如: - >
讓我們考慮,我有一個文本SAN [123456dd]文本
我只是想取代方括號內的所有文字和方括號本身與其他性格特徵說'X'
在這裏,我的最終結果應該是sanXtext。
任何人都可以幫助我解決這個問題嗎?
我有一種情況,我需要用存儲過程中的單個文字替換整個文本和方括號。 (Iam使用Sql Server 2012)。sql查詢括號 - 用單個字符替換所有文本
如: - >
讓我們考慮,我有一個文本SAN [123456dd]文本
我只是想取代方括號內的所有文字和方括號本身與其他性格特徵說'X'
在這裏,我的最終結果應該是sanXtext。
任何人都可以幫助我解決這個問題嗎?
DECLARE @String VARCHAR(1000) = 'san[123456dd]text'
SELECT LEFT(@String, CHARINDEX('[', @String)-1) +'X' +
RIGHT(@String, CHARINDEX(']', REVERSE(@String))-1)
Result: sanXtext
SELECT REPLACE(col,SUBSTRING(col, (CHARINDEX('[',col)), CHARINDEX(']',col) -
(CHARINDEX('[', col)) + Len(']')),'x')
FROM tableName
你google一下? http://technet.microsoft.com/en-us/library/ms186862.aspx – Blorgbeard
谷歌爲「SQL REPLACE」 – RBarryYoung
你必須考慮嵌套的[],或者如果完整的文本不在單行內的程序跨多行搜索?如果是,那麼你也想看看CHARINDEX函數。 –