oracle查询列长度太长
查询的varchar的列字符串长度超过4000(取决与oracle怎么计算这个字符的长度)
例如:
col like ‘%?%’,如果这个like后面的字符串长度超过4000就会报错,其中包含了这个%%,中文会占用3个长度。
使用可视化页面执行会有其他不同的错误代码:可能是底层使用的数据库驱动不同
ORA-01460
org.springframework.orm.jpa.JpaSystemException: could not extract ResultSet; nested exception is org.hibernate.exception.GenericJDBCException: could not extract ResultSet
ORA-01489
列中使用||拼接字符串查询
ORA-01704
select length(‘?’) from dual;使用可视化工具查询,length的结果中文算一个。
ORA-01461
Oracle错误代码ORA-01461: can bind a LONG value only for insert into a LONG column.
将超过4000Char的字符串插入到Varchar列,而不是Clob列引发的异常
ORA-00001
违反唯一约束,后面对应的约束的名称。
-- 查询是哪张表的约束列
SELECT
a.table_name,
a.column_name,
c.constraint_name
FROM
all_cons_columns a
JOIN
all_constraints c
ON
a.constraint_name = c.constraint_name
WHERE
c.constraint_type = 'P' AND c.CONSTRAINT_NAME = 'SYS_C0019948';