sql语句如何将多个空格字符替换成⼀个空格字符
很多时候,数据表中某个字段的值会带有⼀个或多个空格字符串的情况,⾯对多样化的需求,我们可能需要将这些空格字符串去除,当然,这很好说,我们可以直接⽤replace(' ','')将单个空格变成⽆就可以了,但是我们的需要往往不会这么简单,我需要保留⼀个空格字符串,⽽我的空格字符串是不固定的。那这种情况下我们该怎么办呢?
正因为我也遇到了这样的问题,所以才到⽹上寻求解决⽅案,当然,下⾯的解决⽅案不是原创,我把我的理解加在其中,第⼀⽅便以后查看,第⼆也给遇到相同问题不知道如何解决的⼈更好的阐述。
sql代码如下:
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字段中的空格字符串去掉并且保留⼀个,⾸先我们对它去掉⾸尾空格,然后把每⼀个操作后得到的结果当作外层操作的第⼀个参数。如果我们的字段中中间存在⼀个或多个空字符串,那么最后得到的结果始终会保留⼀个空格字符.
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论