Jim*_*mmy 3 sql sql-server replace
我的数据如下
MyText
-------
some text, some more text, even more text,,
some text,,,,
some text, some text,,,
some text, some more text, even more, yet more, and again
Run Code Online (Sandbox Code Playgroud)
我想实现:
MyText
-------
some text, some more text, even more text
some text
some text, some text
some text, some more text, even more, yet more, and again
Run Code Online (Sandbox Code Playgroud)
如何删除行尾的逗号?我必须保留项目之间的逗号,但我需要删除任何项目
我需要在select语句中执行此操作,并且我无法在不编写函数的情况下找到应用RegEx的解决方案(我希望避免使用)
我有一个解决方案,但它特别脏,我想改进它.我正在使用一组嵌套的REPLACE替换4个逗号,3个用3个替换,2个用一个替换,然后删除一个
有任何想法吗?
编辑:数据来自外部系统,所以我无法控制,否则我会在第一个实例中正确连接逗号.我正在使用的这个语句将在SQL Server 2005上运行
尝试这样的事情
DECLARE @Table TABLE(
Val VARCHAR(MAX)
)
INSERT INTO @Table (Val) SELECT 'some text, some more text, even more text,,'
INSERT INTO @Table (Val) SELECT 'some text,,,,'
INSERT INTO @Table (Val) SELECT 'some text, some text,,,'
INSERT INTO @Table (Val) SELECT 'some text, some more text, even more, yet more, and again'
SELECT Val,
REVERSE(SUBSTRING( REVERSE(Val), PATINDEX('%[A-Za-z0-9]%',REVERSE(Val)), LEN(VAL) - (PATINDEX('%[A-Za-z0-9]%',REVERSE(Val)) - 1) ) ),
*
FROM @Table
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10192 次 |
| 最近记录: |