求助,insert into报错,最常用的句型 试了一下,好象确实会提示太长了可以用类似如下的来解决下:INSERT INTO t1 SELECT SUBSTR(t2.f1,1,5) FROM t2 WHERE LENGTH(trim(t2.f1))<=5; 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 SQL> desc t1;Name Type Nullable Default Comments ---- ------- -------- ------- -------- F1 CHAR(5) Y SQL> desc t2;Name Type Nullable Default Comments ---- -------- -------- ------- -------- F1 CHAR(15) Y SQL> SELECT * FROM t2; F1---------------123456771234 SQL> insert into t1 SELECT * FROM t2 WHERE length(trim(t2.f1))<=5; insert into t1 SELECT * FROM t2 WHERE length(trim(t2.f1))<=5 ORA-12899: value too large for column "WK"."T1"."F1" (actual: 15, maximum: 5) SQL> INSERT INTO t1 SELECT SUBSTR(t2.f1,1,5) FROM t2 WHERE LENGTH(trim(t2.f1))<=5; 1 row inserted length取的是字符长度,而不是字节长度,比如“一二ABC”这个字符串的length的结果是5,实际占用字节是大于5的,如果你的数据库字符类型是VARCHAR2(5),那么就会报出长度错误。 楼主可以把length改成lengthb来实现计算字节长度的目的。 请问高手如何使用单一的游标实现下面的SQL oracle9i初级提问? 如何在triggle中,获取用户得IP 关于SQL脚本升级的一个问题(急) sql优化,在线等 clob类型列的更新 sql检索文中子段相等判断问题,急盼解决!!! 如何连接远程oracle数据库,能解决者送高分。 小弟请教一个SQL语句,不知道该怎么写。。。 用SQL语句实现同字段同值记录的其它字段相加的操作. sql求助 大家帮忙看下这个sql group by 字句报错“aa:标识符无效”应该怎么写
SQL> desc t1;
Name Type Nullable Default Comments
---- ------- -------- ------- --------
F1 CHAR(5) Y
SQL> desc t2;
Name Type Nullable Default Comments
---- -------- -------- ------- --------
F1 CHAR(15) Y
SQL> SELECT * FROM t2;
F1
---------------
12345677
1234
SQL> insert into t1 SELECT * FROM t2 WHERE length(trim(t2.f1))<=5;
insert into t1 SELECT * FROM t2 WHERE length(trim(t2.f1))<=5
ORA-12899: value too large for column "WK"."T1"."F1" (actual: 15, maximum: 5)
SQL> INSERT INTO t1 SELECT SUBSTR(t2.f1,1,5) FROM t2 WHERE LENGTH(trim(t2.f1))<=5;
1 row inserted