今天在做产品过程中,遇到一个以前不知道的知识,在部门老大的帮助下,终于搞定了。
原本想实现的效果是限制用户输入的字数,没想到竟然报错了。
如图当我输入20个中文时,就会报错:

数据库表设计如下:

报错信息如下:

报这个错的原因是:可能一个中文占两个字节也可能占三个字节,这个要看字符集。
-------------------------------------------------------------
总结:
varchar2(200 char)表示最长可以插入200个任意字符,
而varchar2(100)最长可以插入100个英文字符
也就是说
1、VARCHAR2(200 CHAR) 能存200个汉字,当然也能存200个字符,但是不能存 400个字符。
2、VARCHAR2(200)则可以存200个字符,但是不能存放200个汉字。
浙公网安备 33010602011771号