我正在寫一個函數,它接受一個字符串並必須用從表格中取出的兩個數字字符替換任何非數字字符。這是我用它來探索串並找到非數字字符代碼:SQL - 替換字符串中的非數字字符
SET @string = '1a2b3c4d'
SET @wcount= 0
SET @index = 1
SET @len= LEN(@string)
WHILE @index<= @len
BEGIN
SET @char = SUBSTRING(@string, @index, 1)
IF @char LIKE '%[a-z]%'
PRINT 'char ' + CONVERT(varchar(10), @index)
ELSE
PRINT @char
SET @index= @index+ 1
END
輸出以下
1
char 2
2
char 4
3
char 6
4
char 8
現在,當我找到一個非數字字符我有用一個select從表中取出的兩個數字字符替換它。例如。
SELECT @temp = REPLACEMENT FROM Conversion_Tab WHERE EXPR = @char
總之,如果我有以下字符串「1a2a3a4a」,並更換爲「一」是「88」所產生的字符串應該是提前任何幫助「188288388488」
感謝。
再見!