oracle数据库中VARCHAR2(50 CHAR) 和VARCHAR2(50) 有啥区别?

2025-03-04 16:28:14
推荐回答(3个)
回答1:

50相当于50BYTE,是按字节计数,50CHAR是按字符计数。对于多字节字符(如汉字),varchar2(50)仅能存储25个汉字,而varchar2(50char)能存储50个汉字。

回答2:

VARCHAR2(50 char)这种类型的字段最多放50个字符,不够50个用空格填充;
而VARCHAR2(50)最大允许存放50个字符,但是不足50个也不用空格填充。
varchar2是变长字符串,与CHAR类型不同,它不会使用空格填充至最大长度。VARCHAR2最多可以存储4,000字节的信息。

回答3:

VARCHAR2(50): 50个字节,根据字符集不同,gbk可存25个汉字,utf8可存16个汉字
VARCHAR2(50 CHAR):50个字符,50个汉字