今天去了一家公司面試,一開始做筆試題,不算太難,但是裏面有一道題,我是真的沒有了解過,原諒我太菜了。
筆試題:Oracle中varchar2的最大長度是多少?
傻傻的我蒙了個2000(醉了)
回來後查了資料後才知道Oracle中的VARCHAR2字段類型,最大值爲4000,SQL參考手冊中也明確指出VARCHAR2的最大大小爲4000,注意此處的最大長度是指字節長度,而不是指字符個數。最多可以存入4000個字母,或最多存入2000個漢字(數據庫字符集編碼是GBK時,varchar2最多能存放2000個漢字,數據庫字符集編碼是UTF-8時,那就最多隻能存放1333個漢字,可以說varchar2能存入多少個漢字是受字符編碼的影響)
既然都說了varchar2那也說說nvarchar2吧。
nvarchar2的最大值2000,單位是字符,也就是說不管是漢字還是字母,每個字符的長度都是2個字節。所以nvarchar2類型的數據最多能存放2000個漢字,也最多隻能存放2000個字母。並且NVARCHAR2不受數據庫字符集的影響。