sqlserver查询字段里面如何去除空格

heavyrain1234 2015-10-19 07:30:40
之前用ORACLE 里面有TRIM(),很好用,一个查询带上很多个这个函数,也不会影响性能。

最近使用SQLSERVER发现没有直接的TRIM(),只能是LTRIM(RTRIM(FIELD1)),要是性能OK还行,最近发现一个查询里面若有多个LTRIM(RTRIM(FIELD1)),性能会下降比较厉害,不知各位还有何良策?
...全文
2791 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
等不到来世 2015-10-21
  • 打赏
  • 举报
回复
无论是Oracle里的trim,还是sqlserver里的ltrim/rtrim,都是会损害索引的使用的。 如果性能成为问题,那么就尽量不要在索引列上使用任何函数。 两个方法,一是在保存进数据库之前就做好去空格处理;二是增加一个冗余列保存去空格后的数据,并在此列上建索引。
Tiger_Zhao 2015-10-20
  • 打赏
  • 举报
回复
你把 LTRIM(RTRIM(FIELD1)) 用到条件中去了吧?
不直接用字段比较会不走索引,那样性能会差好多。
LongRui888 2015-10-19
  • 打赏
  • 举报
回复
是完全一样的语句吗? 用了ltrim和rtrim就慢了? 这个不太可能吧。 另外,你用replace试试replace(str,' ','')

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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