用select max(length(t.mc)) from table t 发现里面数据最大长度为43,但是把mc长度改为50的时候,确提示出错ora-01441错误,某些列长度过长 mc为varchar2(100)请问是怎么回事? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你用lengthb看看是多长select max(lengthb(t.mc)) from table t lengthb的结果大于50,为什么会这样?lengthb不是字节长度嘛,mc既然是varchar2,为什么length得不出准确长度 length()计算输入字符集字符的长度,如果是中文字符集,一个中文作为一个字符处理.lengthb()计算输入字符集字符的字节长度,如果是中文字符集,一个中文作为两个字节处理.varchar2定义的是字节长度.nvarchar2定义的是对应国家字符集的字符长度. 下面两种列长度的定义当有出数字和英文字符以外字符出现时可能会有区别。VARCHAR2(12 BYTE)VARCHAR2(12 CHAR) pl/sql中job不能运行 rman远程备份问题! Oracle真他烂, 真他妈难用,相对SQL Server来说易用性千分之一都不如 请教个SQL语句 只有ORACLE的正个目录,有没有办法把数据恢复过来? 请教优化一查询SQL 数据库突然出现错误~提示 请教VC+ADO访问Oracle的问题 求一个sql语句。 Pro C/C++在现实应用中的意义 大括号分割的.dat格式的文本文件如何导入oracle? 一个主表,两个从表关联查询问题(只要能解决,分不够可以再加)
select max(lengthb(t.mc)) from table t
lengthb不是字节长度嘛,mc既然是varchar2,为什么length得不出准确长度
lengthb()计算输入字符集字符的字节长度,如果是中文字符集,一个中文作为两个字节处理.
varchar2定义的是字节长度.
nvarchar2定义的是对应国家字符集的字符长度.
VARCHAR2(12 BYTE)
VARCHAR2(12 CHAR)