varchar2(byte) 存盤的是位元組,
varchar2(char) 存盤的是字符,
varchar2(2 byte) 最多可以存盤2個位元組,varchar2(2 char) 最多可以存盤2個字符,
當資料庫字符集分別:
1.為 AL32UTF8 時,1個漢字是1個字符,1個漢字占3個位元組,varchar2(2 byte) 一個漢字也不能存,varchar2(2 char) 能存2個漢字,
2.為 ZHS16GBK時,1個漢字是1個字符,1個漢字占2個位元組,varchar2(2 byte) 能存1個漢字,varchar2(2 char) 能存2個漢字,
默認情況下,在指定資料型別為 varchar2(2) 時是什么情況呢?這跟資料庫中的一個引數有關: NLS_LENGTH_SEMANTICS
select name,value from v$parameter where name='nls_length_semantics';
NAME VALUE
------------------------------ ------------------------------
nls_length_semantics BYTE
如果該引數的值為 byte ,則 varchar2(2) 等同于 varchar2(2 byte),這是默認情況,
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/19794.html
標籤:Oracle
上一篇:Redis學習筆記記錄
下一篇:SQL陳述句
