Sql Server数据库sql语句去除所有空格

空格包含一般空格和特殊空格。

1、一般空格

前后的空格,使用LTRIM()和RTRIM()即可,例如:LTRIM(RTRIM(name))

中间的空格,使用REPLACE()函数替换,例如:REPLACE(name,' ','')

2、特殊空格

通过ASCII()函数,找出空格的ASCII值,然后用REPLACE()函数+CHAR()函数来替换。

①通过查询的方式,将特殊空格之外的值替换成空字符串,这样就剩下特殊空格,通过ASCII()函数查到特殊空格的ASCII值。

例:select ASCII(REPLACE(name,' ','')) from 表名

②将该值替换成空字符串,例如通过ASCII()函数,找到空格的ASCII值为10,则使用REPLACE(name,char(10),'')来替换。

注意:ASCII值根据实际情况查询获得。

例:update 表名 set name=REPLACE(name,CHAR(10),'')
————————————————

------------------------自己整理-------------------

查询字段是否包含特殊字符

SELECT YourColumn FROM YourTable WHERE PATINDEX('%' + CHAR(0) + '%', YourColumn) > 0

---

select COUNT(1) from PosData.dbo.UserCoupon

where 1=1

and PATINDEX('%' + CHAR(0) + '%', Pos_number) > 0

 

--替换特殊字符---

 

update PosData.dbo.UserCoupon set Pos_number = REPLACE(Pos_number, CHAR(0), '')

where 1=1 

and Rule_number = 'QB1WOEXFZL3XE'

---查找有什么特殊字符---

select ASCII(SUBSTRING(Pos_number,7,10)) from PosData.dbo.UserCoupon where Status=3 and Rule_number = '111'

---查询替换试试--

select REPLACE(Pos_number, CHAR(0), '') from PosData.dbo.UserCoupon where Status=3 and Rule_number = '111'

 

-----------------------spark替换特殊字符---------------------------

SELECT regexp_replace('asdfadfa', '\\x00', '') AS aa

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章