MS SQL 2012仅从右侧和左侧删除重复字符
我需要条纹重复字符从左,右只 发件人: 致:MS SQL 2012仅从右侧和左侧删除重复字符,sql,sql-server,sql-server-2012,Sql,Sql Server,Sql Server 2012,我需要条纹重复字符从左,右只 发件人: 致: 使用左、子字符串和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]%', @st
使用
左
、子字符串
和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
使用
左
、子字符串
和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, ',', ' '))), ' ', ',')
用修剪来欺骗:
REPLACE(RTRIM(LTRIM(REPLACE(fld, ',', ' '))), ' ', ',')
下面是另一个解决方案,只需使用
REPLACE
:)-非常有趣:
select replace(replace(replace(',,' + YourField + ',,', ',,', '.'), '.,', ''), '.', '')
字符
不应出现在字段的值中,因此您可以选择满足该要求的任何其他字符
当您的字段包含空格时,这种方法甚至是可用的(这样您就不能使用
RTRIM
和LTRIM
)。这里有另一种解决方案,只需使用REPLACE
:)-太有趣了:
select replace(replace(replace(',,' + YourField + ',,', ',,', '.'), '.,', ''), '.', '')
字符
不应出现在字段的值中,因此您可以选择满足该要求的任何其他字符
当您的字段包含空格时,这种方法甚至可用(这样您就无法使用
RTRIM
和LTRIM
)。您使用的是哪个DBMS
我使用的是MS Sql 2012,哪个DBMS
您使用的是哪个我使用的是MS Sql 2012