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...