Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MS SQL 2012仅从右侧和左侧删除重复字符_Sql_Sql Server_Sql Server 2012 - Fatal编程技术网

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