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

 

 

 

 

 

 

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