MS SQL 2012仅从右侧和左侧删除重复的字符

时间:2016-04-23 15:49:26

标签: sql sql-server sql-server-2012

我只需要左右两边的条纹重复字符。

自:

,,,,2000001,2000002,2000003,2000004,2000005,2000006,,,,,

要:

2000001,2000002,2000003,2000004,2000005,2000006

3 个答案:

答案 0 :(得分:4)

作弊:

TextView

答案 1 :(得分:2)

使用LEFTSUBSTRINGCHARINDEX字符串函数

试试这个

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 

答案 2 :(得分:0)

这是另一个使用REPLACE :)的解决方案 - 很有趣:

select replace(replace(replace(',,' + YourField + ',,', ',,', '.'), '.,', ''), '.', '')

字符.不应出现在您的字段值中,因此您可以选择满足该要求的任何其他字符。

当您的字段包含空格时,此方法甚至可以使用(那么您无法通过RTRIMLTRIM来发挥作用。