结论
oracle(12c)一个汉字是3个字节,varchar2(1)表示1个字节
mysql(8.0)一个汉字是3个字节,varchar(1)表示一个字符
oracle建表语句
CREATE TABLE "test" (
"f1" VARCHAR2(1),
"f2" VARCHAR2(2),
"f3" VARCHAR2(3),
"f4" VARCHAR2(4),
"f5" VARCHAR2(5),
"f6" VARCHAR2(6)
)
![](https://img.haomeiwen.com/i24252589/0aa4339f0251a878.png)
通过SQL查询也可以看出
select lengthb('你') from dual;
![](https://img.haomeiwen.com/i24252589/31164fecaf236139.png)
注:oracle编码为AL32UTF8
select * from nls_database_parameters where parameter = 'NLS_CHARACTERSET'
Mysql建表语句
CREATE TABLE `test` (
`f1` varchar(1) DEFAULT NULL,
`f2` varchar(2) DEFAULT NULL,
`f3` varchar(3) DEFAULT NULL,
`f4` varchar(4) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
![](https://img.haomeiwen.com/i24252589/5c631cbd0134c0ce.png)
网友评论