我需要從左側和右側條紋重複字符。MS SQL 2012從右側和左側刪除重複字符
來源:
,,,,2000001,2000002,2000003,2000004,2000005,2000006,,,,,
要:
2000001,2000002,2000003,2000004,2000005,2000006
我需要從左側和右側條紋重複字符。MS SQL 2012從右側和左側刪除重複字符
來源:
,,,,2000001,2000002,2000003,2000004,2000005,2000006,,,,,
要:
2000001,2000002,2000003,2000004,2000005,2000006
使用LEFT
,SUBSTRING
和CHARINDEX
字符串函數
試試這個
DECLARE @str VARCHAR(500) = ',,,,2000001,2000002,2000003,2000004,2000005,2000006,,,,,'
SELECT LEFT(intr, Charindex(',,', intr) - 1) as Result
FROM (SELECT Substring(@str, Patindex('%[0-9]%', @str), Len(@str)) AS intr) a
它的工作原理。謝謝 。 –
作弊與裝飾:
REPLACE(RTRIM(LTRIM(REPLACE(fld, ',', ' '))), ' ', ',')
讓我看起來很蠢; p –
我現在看到了,也有效。謝謝。 –
這裏只使用REPLACE
:)另一種解決方案 - 太有趣了:
select replace(replace(replace(',,' + YourField + ',,', ',,', '.'), '.,', ''), '.', '')
字符.
不應該出現在你的字段的值,所以你可以選擇任何符合該要求的其他角色。
當您的字段包含空格時,此方法甚至可用(然後您無法使用RTRIM
和LTRIM
來玩這個竅門)。
您正在使用哪個'DBMS' –
I'am使用MS Sql 2012 –