zoukankan      html  css  js  c++  java
  • sql语句如何将多个空格字符替换成一个空格字符

      很多时候,数据表中某个字段的值会带有一个或多个空格字符串的情况,面对多样化的需求,我们可能需要将这些空格字符串去除,当然,这很好说,我们可以直接用replace(' ','')将单个空格变成无就可以了,但是我们的需要往往不会这么简单,我需要保留一个空格字符串,而我的空格字符串是不固定的。那这种情况下我们该怎么办呢?

      正因为我也遇到了这样的问题,所以才到网上寻求解决方案,当然,下面的解决方案不是原创,我把我的理解加在其中,第一方便以后查看,第二也给遇到相同问题不知道如何解决的人更好的阐述。

          sql代码如下:

      SELECT REPLACE(
      REPLACE(
      REPLACE(
      LTRIM(RTRIM(name)),
      '  ',' '+'#'),                    --把两个空格替换成一个空格加上特殊符号#(' #')

      '#'+' ',''),                      --把特殊符号和一个空格('# ')替换成无''

      '#','') AS NewString         --如果空格总数是偶数,则最后会多一个特殊符号#,此时把#替换成无
      
    FROM Moives
      WHERE CHARINDEX(' ',name)> 0 and id=2

        上述代码中,用到了三个replace,  通常,replace有三个参数,第一个是要操作的目标字符串,第二个是被替换的字符,第三是想要替换成的字符。在这里我们想把Moives表中id为2的记录的name字段中的空格字符串去掉并且保留一个,首先我们对它去掉首尾空格,然后把每一个操作后得到的结果当作外层操作的第一个参数。如果我们的字段中中间存在一个或多个空字符串,那么最后得到的结果始终会保留一个空格字符.

        

  • 相关阅读:
    C# Dictionary几种遍历方式
    Android 代码中文字在手机上显示乱码问题解决方法
    【Android学习5】Clean 之后R文件丢失
    【android学习4】Eclipse中Clean作用
    Java基础语法(练习)
    Java基础语法(自定义类、ArrayList集合)
    Java基础语法(方法)
    Java基础语法(数组)
    Java基础(Scanner、Random、流程控制语句)
    Java基础(变量、运算符)
  • 原文地址:https://www.cnblogs.com/colin2011/p/3757235.html
Copyright © 2011-2022 走看看