問題背景:
乙個工商註冊號,正常的用trim能解決的問題,但是這個case,trim後和肉眼看到的就是不一樣就是多了乙個字元
分析問題:
為了能問題重現,下面模擬
創造乙個
12345
加上乙個特殊字元(假象空白)
select concat('123456',chr(9)) as xx from dual)
1.看看長度
看到上面裡面
心裡感覺有空字元(6!
=7)
試試的效果
發現trim
不掉還是
7個長度
ok我們用dump
函式來了解oracle
的資料型別儲存方式
select
dump(xx
from
select
concat
('123456'
chr(9as
xxfrom
dual)
上面type=1
標示值得型別是
varchar2
len標示該值占用的位元組數,是
7個長度
49,50,51,52,53,54,9
49,50,51,52,53,54
對於ascii
碼是123456 而
9這個ascii
值是水平
定位符號
但是這個9是怎麼進去的呢?是ctrl+tab鍵加入的!
解決問題:
直接更新掉
後續的規劃
進行資料**輸入校驗。?
關於函式的用法
關於oracle字符集的深入研究
scanf與空白字元
scanf函式在遇到以下情況會停止乙個資料的輸入,是乙個資料哦,不是停止這個函式哦!1 空白字元 空白字元是指空格鍵,tab鍵,回車鍵 2 遇寬度結束 3 遇非法輸入 因此呢,當我們在用scanf輸入乙個字串的時候,空格已出現就停止了,比如 includeint main 執行發現 可我想要的是 h...
mysql 去除前後空白字元
在資料庫匯入excel中資料時,經常會出現一些空格或者其他特殊字元導致資料無法查詢,我們都知道 trim field 可以消除字段前後的空格,但是如何消除空白的特殊字元呢 update table set field replace replace replace field,char 9 char...
Python中刪除空白字元
去除空格 去除左右兩邊的空格使用str.strip 去除所有空格 使用str.replace 去除空白符 去除所有的空白符 使用str.splite 及join 使用正則 使用str.translate 只去除左邊的空白字元 使用str.lstrip 使用正則 只去除右邊的空白字元 使用str.rs...