1. 程式人生 > >sqlserver數據庫 表中字段值有空格,如何去除空格(例如char (5) 存入數據不足5位時sqlserver會自動補空格)

sqlserver數據庫 表中字段值有空格,如何去除空格(例如char (5) 存入數據不足5位時sqlserver會自動補空格)

ltrim blog class 有時 找到 logs head 字段 div

普通的空格

前後的空格,使用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值。

sqlserver數據庫 表中字段值有空格,如何去除空格(例如char (5) 存入數據不足5位時sqlserver會自動補空格)