怎么去掉字符前后的N个空格,Tab,回车,等非打印字符

春风剑客 2012-03-30 11:21:51
注:Ltrim和Rtrim不好使只能去掉空格,不能Replace会同样去掉字段中间的空格。

例子:
空格,Tab,空格,空格,Tab,Tab "abc Tab,空格,def"


.............................
...全文
183 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
gogodiy 2012-03-30
  • 打赏
  • 举报
回复
过滤各种特殊字符的方法:
declare @str varchar(50)
SELECT @STR=' !#$@%$#^%ABC123'
SELECT @STR,STUFF(@STR,1,PATINDEX('%[0-9A-Za-z.]%',@STR)-1,'')
执行结果:
!#$@%$#^%ABC123 ABC123
Vidor 2012-03-30
  • 打赏
  • 举报
回复
正则吧
http://topic.csdn.net/u/20120330/11/30393dc4-dd30-48db-a3f3-d398f908ccf0.html

sql很麻烦,列举出所有你认为不应该出现在首尾的字符。

declare @str varchar(100) = ' a cd '

declare @pos int = patindex('%[^'+char(9)+char(10)+char(13)+' ]%', @str)
if (@pos>1) set @str = stuff(@str,1,@pos-1,'')

set @str = reverse(@str)
set @pos = patindex('%[^'+char(9)+char(10)+char(13)+' ]%', @str)
if (@pos>1) set @str = stuff(@str,1,@pos-1,'')

set @str = reverse(@str)

select '|'+@str+'|'

22,206

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧