看你数据库的字符集是什么,如果是UTF8,则varchar2 100 可存100个汉字。
解决方案 »
- 求资料:如何用Oracle的OLAP工具一步步建立Cube
- 求一条sql语句
- oracle 10g 安装成功后 无法启动
- Oracle 用户 实例 数据库 关系问题
- 怎么判断SELECT后的结果集是否存在?
- LRM-00111: no closing quote for value '{"D:\oracl'
- 自增id在pb的数据窗口中能使用吗?怎么用啊?
- 放假了,各位兄弟帮帮忙吧。改了ip,不能建立新的数据库了。
- VC++中如何使用户以SYSDBA/SYSOPER登录?
- PLSQLDeveloper监听服务无法连接描述符中请求的服务
- 奇怪了,在PL/SQL中练习程序设计有几个地方不明白,为什么这里end退不出去了捏???????????
- 请问如何更改oracle的系统表示符 SID?
--------------------------------------------------------------------------------
AL32UTF8SQL> create table ss(ss varchar2(10));表已创建。SQL> insert into ss values('代数式地方大师傅');已创建 1 行。SQL> select value from nls_database_parameters where parameter = 'NLS_CHARACTERSET';VALUE
--------------------------------------------------------------------------------
ZHS16GBKSQL> create table ss (ss varchar2(10));表已创建。SQL> insert into ss values('大撒法似的似的');
insert into ss values('大撒法似的似的')
*
ERROR 位于第 1 行:
ORA-01401: 插入的值对于列过大
insert into ss values('大撒法似的似的')
*
ERROR 位于第 1 行:
ORA-01401: 插入的值对于列过大=========================================================
这个与nls_length_semantics的设置有关,因为其当前设置为byte需要改变一下建表时的定义,这么写:
create table ss (ss varchar2(10 char));
如果nls_length_semantics的值为char,则没有上述问题