ocistmtexecute: ora-12899: value too large for column "wsg"."wx_enter_taste"."gender" (actual: 3, maximum: 2)今天調查乙個oracle資料庫問題的時候,發現在11g中乙個漢字佔2個位元組,在10g中佔3個位元組,導致將11g資料庫中的資料匯入到10g的時候總是出錯,開始的時候還以為是11g和10g的版本不一樣,漢字占用位元組數不一樣,後來一想,oracle不會這麼幹吧,那樣差別也太大了,後來一調查,發現是跟oracle的字符集編碼有關:
如果是以下字符集,乙個漢字占用2個位元組: simplified chinese_china.zhs16gbk 如果是以下字符集,乙個漢字占用3個位元組: simplified chinese_china.al32utf8 (1)檢視oracle字符集可以用下面的sql文檢視: select userenv('language') from dual檢視當前oracle環境中乙個漢字佔多少個位元組可以用下面的sql文檢視: select lengthb('啊') from dual 關於oracle字符集相關的知識(包括字符集檢視和修改),
主要參照:
oracle漢字占用位元組長度
1 今天調查乙個oracle資料庫問題的時候,發現在11g中乙個漢字佔2個位元組,在10g中佔3個位元組,導致將11g資料庫中的資料匯入到10g的時候總是出錯,開始的時候還以為是11g和10g的版本不一樣,漢字占用位元組數不一樣,後來一想,oracle不會這麼幹吧,那樣差別也太大了,後來一調查,發現...
Oracle 漢字占用位元組數
在oracle中乙個字元特別是中文字元佔幾個位元組是與字符集有關的。比如gbk,漢字就會佔兩個位元組,英文1個 如果是utf 8,漢字一般佔3個位元組,英文還是1個。但是一般情況下,我們都認為是兩個位元組處理,因為oracle安裝時候預設我們都選擇gbk的編碼格式,但是我們在頁面做輸入字串長度的校驗...
ORACLE資料庫漢字占用位元組數
oracle資料庫漢字占用位元組數 之前本人認為乙個漢字都是佔兩個位元組的,mssql server如此 至少在我的理解範圍之內,如果有誤還請大家糾正 但是最近在使用oracle資料庫,發現了一些特殊的東西,那就是,當你用兩個函式 分別是length和lengthb,這兩個函式到底是幹什麼用的,我想...