ORACLE資料庫漢字占用位元組數

2022-04-09 09:35:43 字數 510 閱讀 4621

oracle資料庫漢字占用位元組數

之前本人認為乙個漢字都是佔兩個位元組的,mssql server如此(至少在我的理解範圍之內,如果有誤還請大家糾正)。

但是最近在使用oracle資料庫,發現了一些特殊的東西,那就是,當你用兩個函式(分別是length和lengthb,這兩個函式到底是幹什麼用的,我想不需要我說明,大家查幫助就可以了)進行查詢時,發現結果是lengthb是length的三倍(當然前提是length函式中的引數都是漢字了),這就奇怪了,不是說漢字佔兩個位元組嗎?怎麼這裡變成了三個?

於是上網找資料,還真被我找到了。

1select * from v$nls_parameters t where t.parameter = 'nls_characterset';

可以查詢到當前資料庫的字符集,如果value=zhs16gbk,那麼乙個漢字占用2個位元組,如果value=al32utf8,那麼乙個漢字占用3個位元組。

於是查詢了一下本人的資料庫,字符集果然是al32utf8(這是oracle資料庫預設的)。

oracle漢字占用位元組長度

1 今天調查乙個oracle資料庫問題的時候,發現在11g中乙個漢字佔2個位元組,在10g中佔3個位元組,導致將11g資料庫中的資料匯入到10g的時候總是出錯,開始的時候還以為是11g和10g的版本不一樣,漢字占用位元組數不一樣,後來一想,oracle不會這麼幹吧,那樣差別也太大了,後來一調查,發現...

Oracle 漢字占用位元組數

在oracle中乙個字元特別是中文字元佔幾個位元組是與字符集有關的。比如gbk,漢字就會佔兩個位元組,英文1個 如果是utf 8,漢字一般佔3個位元組,英文還是1個。但是一般情況下,我們都認為是兩個位元組處理,因為oracle安裝時候預設我們都選擇gbk的編碼格式,但是我們在頁面做輸入字串長度的校驗...

yii2 oracle漢字占用位元組長度

ocistmtexecute ora 12899 value too large for column wsg wx enter taste gender actual 3,maximum 2 今天調查乙個oracle資料庫問題的時候,發現在11g中乙個漢字佔2個位元組,在10g中佔3個位元組,導致...