在oracle中乙個字元特別是中文佔幾個位元組是不同的。
比如我創立乙個表create table test_ly(a varchar2(4),b nvarchar2(4))
錯!最多能插入乙個漢字加乙個字母(或數字)。
你說b列最多能插入多少個漢字,2個?
不以n開頭的字段型別(比如char,varchar2)中,unicode字元(比如漢字)佔3個位元組,其他字元佔1個位元組。
如何求乙個字串占用的字元數和位元組數?
你說 中華12 這個字串占用了多少字元,位元組?看sql返回值便清楚了。
select lengthb('中華12') from dual --返回8,也就是占用8個位元組,其中中華兒子各佔3個位元組,而12兩個字元各佔乙個位元組
select length(n'中華1') from dual --返回3,因為只有3個字元嘛。
字串型別字段預設的長度是以位元組為單位的,具體取決於引數
nls_length_semantics 的值(使用show
parameters可以看到這個引數的值),預設是byte,也就是以位元組為單位的,如果是char則是以字元為單位的。表的某列可以使用字元為單位
嗎?當然可以,比如這樣建立即可:create table test_ly(a varchar2(4 char))
這樣a列就最多能儲存4個字元,而不是4個位元組了。
ORACLE中乙個字元佔多少位元組?
22.1 問題描述 或許你會說乙個中文字元佔2個位元組,這是一定的?如何計算乙個字串的位元組數?22.2 解決方案 在oracle中乙個字元特別是中文佔幾個位元組是不同的。比如我創立乙個表create table test ly a varchar2 4 b nvarchar2 4 你說a列能插入兩...
ORACLE中乙個字元佔多少位元組?
問題描述 或許你會說乙個中文字元佔2個位元組,這是一定的?如何計算乙個字串的位元組數?解決方案 在oracle中乙個字元特別是中文佔幾個位元組是不同的。比如我創立乙個表create table test ly a varchar2 4 b nvarchar2 4 你說a列能插入兩個漢字嗎?錯!最多能...
java中乙個字元佔多少位元組
原 位元組 byte 用來計量儲存容量的一種計量單位 位 bit 乙個位元組等於8位 1byte 8bit char占用的是2個位元組 16位,所以乙個char型別的可以儲存乙個漢字。整型 byte 1個位元組8位 128 127 short 2個位元組16位 int 4個位元組32位 long 8...