Sql Server数据库中空格的去除

普通的空格

前后的空格,使用LTrim和RTrim即可,例如:LTrim(RTrim(Name))

中间的空格,使用replace函数替换,例如:Replace(Name,' ','')

 

如果是普通的空格,很容易替换,但有时候会遇到一些特殊的空格,就比较麻烦,看起来跟普通的空格一模一样,但就是无法替换掉。这就需要特殊的方法去找出空格,然后用replace替换。

找出这样的空格,需要用到ascii函数,通过ascii函数,找出空格的ascii值,然后用replace函数+char函数来替换。

例如通过ascii函数,找到空格的ascii值为9,则使用replace(Name,char(9),'')来替换。

按照上面的方式,无非就是怎么找出空格的ascii值。

假设Name有个值是“张三 ”,后面有个特殊的空格。

select ascii(replace(name,'张三','') from 表名 where id=**

把Name的值取出,然后替换掉文本部分,剩下的就是特殊的那个空格,就能通过ascii函数来获取这个空格ascii值。

转载于:https://www.cnblogs.com/wifi/articles/2800750.html

### 清除SQL Server字符串中空格的方法 #### 使用`LTRIM`和`RTRIM`函数去除前后空格 对于仅需移除字符串前后的空白字符的情况,可以利用内置的 `LTRIM()` 和 `RTRIM()` 函数。这两个函数分别用于删除左侧和右侧的空格。 ```sql SELECT LTRIM(RTRIM(column_name)) AS trimmed_column FROM table_name; ``` 此方法适用于处理标准空格字符[^1]。 #### 利用嵌套`REPLACE`函数消除所有类型的空白字符 当目标是从整个字符串内部移除所有的空白字符(包括但不限于普通空格、回车符、换行符及水平制表符),则可采用多层嵌套的方式调用 `REPLACE()` 函数: ```sql SELECT REPLACE( REPLACE( REPLACE( REPLACE(column_name, CHAR(10), ''), -- 移除换行符 CHAR(9), '' ), -- 移除非打印字符(TAB) CHAR(13), '' ), -- 移除回车符(CR) ' ', '' -- 移除常规空格(SPACE) ) AS cleaned_string FROM table_name; ``` 上述代码片段展示了如何依次替换不同种类的不可见字符为空串,从而达到清理的目的[^2]。 #### 特殊情况——识别并处理非常规空白字符 有时会遇到一些特殊情况下由非典型空白字符组成的“看不见”的间隔,这些可能不是常见的 ASCII 码表示的空间形式。为了定位这类问题,可以通过计算特定子串之外剩余部分对应的 ASCII 数值来进行排查,并据此采取相应的措施进行转换或剔除操作[^3]。 例如,在发现某字段内含有未知空白字符时,先确定其确切位置及其 ASCII 编码后再做进一步处理: ```sql SELECT ASCII(REPLACE(name, 'known_text_part', '')) as unknown_space_ascii_value FROM table_name WHERE name LIKE '% known_text_part%'; ``` 一旦得知该神秘空白的实际编码(比如上面提到的例子中为 9),就可以针对性地应用 `REPLACE()` 来完成最终的数据净化工作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值