oracle 存储中文 u码,Oracle 汉字 占位
遇到了一個數據插入長度過長問題,記得大學時候,還說過oracle的不同編碼下的的大小分配不是一樣的,具體也忘記了,補上,以防下次犯二
1 step
先查看自己的oracle是什么字符集
select userenv('language') from dual
比如:?SIMPLIFIED CHINESE_CHINA.ZHS16GBK? 、?SIMPLIFIED CHINESE_CHINA.AL32UTF8
SIMPLIFIED CHINESE_CHINA.ZHS16GBK : 一個漢字占用2個字節
SIMPLIFIED CHINESE_CHINA.AL32UTF8? :?一個漢字占用3個字節
2 step
使用函數查看 漢字 占幾b
SELECT lengthb('我') from dual;
這邊是SIMPLIFIED CHINESE_CHINA.AL32UTF8 ,所以結果是 3
3 step
比如還有一些類型的特點
varchar(32) 該字段長度為32類型為varchar2類型,可以放單字節字符32個(字母、數字),存儲雙字節字符25個(漢字)。他如果輸入數據不足,則以空格填充
varchar2(32) 該字段長度為32類型為varchar2類型,可以放單字節字符32個(字母、數字),漢字的話,就要根據具體的字符集,就是上面說的,可能是2個字節,也可能3個字節
nvarchar2(32) 該字段類型為nvarchar2,長度為32,不論英文,數字,中文都能存32個 ,不想去計算這些破事的話,可以直接選擇nvarchar2,省心!
osc時候開始,敏感字檢查的這么嚴格了?!或者說是亂匹配檢查
----------------------------------------------------------------------------------------
總結
以上是生活随笔為你收集整理的oracle 存储中文 u码,Oracle 汉字 占位的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: alpine linux图形界面_跟光磊
- 下一篇: 英语四级c语言,2017年大学英语四级精