sql 刪除表字段中所有的空格

2022-01-11 18:07:52 字數 734 閱讀 9394

sample表中有乙個name欄位,目前當中有很多記錄含有空格,如:「 張 學 友 」,如何用sql語句將這些空格刪掉,而變成「張學友」?

我想sql語句應該有如下分解動作:

(1)將表中含有空格的記錄找出來;

(2)去掉空格。不管空格在哪個位置,也不管空格有多少,全部去掉;

(3)將去掉空格後的記錄更新會原表。

請給出詳細語句及步驟。

select

*from yourtable where

charindex('

',name)>

0and

ascii(ltrim(name))>

127update yourtable set name=

replace(name,'

','') where

charindex('

',name)>

0and

ascii(ltrim(name))>

127

解決方案,做乙個函式(sql server 2k才支援,7.0以前,只能用儲存過程),演算法描述如下:

1 乙個乙個擷取出來,漢字和英文本元的ascii碼不一樣。漢字有兩個位元組組成,並且都是》127。這是判斷同英文本元的差別

2 如果是漢字,中間的空格就丟棄掉

3 如果是英文+空格+漢字,或者漢字+空格+英文,就看你自己的需求了。

具體,可以參考,我回答的關於半個漢字的問題。

得到資料庫中所有的表以及表字段

鄒建寫的 select case when c.colid 1 then o.name else end 表名,得到表名,重複的表名不顯示 c.colid 順序,c.name 欄位名,t.name 字段型別,columnproperty c.id,c.name,precision 字段長度,isnu...

刪除專案中所有的 pycache

當第一次執行 python 指令碼時,直譯器會將 py指令碼進行編譯並儲存到 pycache 目錄 下次執行指令碼時,若直譯器發現你的 py指令碼沒有變更,便會跳過編譯一步,直接執行儲存在 pycache 目錄下的 pyc檔案 1 單次關閉 執行指令碼時新增 b引數即可 2 永久關閉 設定環境變數p...

sql 查詢表中所有欄位的名稱

最近工作用到sql語句查詢表中所有欄位的名稱,網上查詢,發現不同資料庫的查詢方法不同,例如 sql server 查詢表的所有欄位名稱 select name from syscolumns where id object id 表名 sqlite 查詢表中所有欄位名稱 select name fr...