从MS SQL中的字符串中剥离不需要的字符
下面有一些返回干净字符串的代码 如何在输出中保留逗号从MS SQL中的字符串中剥离不需要的字符,sql,sql-server,tsql,Sql,Sql Server,Tsql,下面有一些返回干净字符串的代码 如何在输出中保留逗号 select @cleanline=line from #tbl While PatIndex('%[^A-Z,a-z,0-9]%', @cleanline) > 0 Set @cleanline = Stuff(@cleanline, PatIndex('%[^A-Z,a-z,0-9]%', @cleanline), 1, '') print @cleanline 谢谢 Rob将%[^
select @cleanline=line from #tbl
While PatIndex('%[^A-Z,a-z,0-9]%', @cleanline) > 0
Set @cleanline = Stuff(@cleanline, PatIndex('%[^A-Z,a-z,0-9]%', @cleanline), 1, '')
print @cleanline
谢谢
Rob将%[^A-Z,A-Z,0-9]%
更改为%[^A-Z0-9]%
或%[^A-Za-Z0-9]%
默认情况下,SQL Server不区分大小写,并且不需要逗号
编辑:结果是数据中没有逗号
select @cleanline = line from #tbl
set @tokeeppattern = '%[^A-Z,a-z0-9' + CHAR(9) + ']%'
While PatIndex(@tokeeppattern, @cleanline) > 0
Set @cleanline = Stuff(@cleanline, PatIndex(@tokeeppattern, @cleanline), 1, '')
print @cleanline
您的代码不保留逗号。你是在问如何不这样做吗?@Rob-如果我尝试
声明@cleanline varchar(max)=“一,二,三,$”
并在代码中运行它,逗号会被保留。@Rob:你也有一个示例字符串吗?@gbn-你是一个明星-想知道为什么-因为我这个昏昏欲睡的家伙把我的文件弄混了-我使用的文件是一个标签文件(因此没有逗号!!!)天哪,我现在觉得自己很愚蠢。不。'%[^A-z0-9'+CHAR(9)+']%'