2024-05-09    2024-05-09    612 字  2 分钟

1. Extracted SQL state class ‘22’ from value ‘22001’

再插入数据时报错如下

1
Extracted SQL state class '22' from value '22001'

经过查看日志,数据库中缺少一个字段

sql执行状态表如下:

SQLSTATE 值含义
22001字符数据,发生右截断;例如,更新或插入值对于列来说太长(字符串),或者日期时间值由于太小而不能赋给主机变量。
22002检测到空值或缺少指示符参数;例如,不能将空值赋给主机变量,因为没有指定指示符变量。
22003数字值超出范围。
22004不能从定义为 PARAMETER STYLE GENERAL 的过程或者从用非空自变量调用的类型保留方法中返回空值。
22007检测到无效的日期时间格式;即指定了无效的字符串表示法或值。
22008发生日期时间字段溢出;例如,对日期或时间戳记算术运算的结果不在有效日期范围之内。
2200G大多数特定类型都不匹配。
22011发生子字符串错误;例如,SUBSTR 的自变量超出范围。
22012用零作除数是无效的。
22018对于 CAST、DECIMAL、FLOAT、或 INTEGER 标量函数,字符值是无效的。
22019LIKE 谓词有无效转义字符。
22021某字符不在编码字符集中。
22024以 NUL 结束的输入主机变量或参数不包含 NUL。
22025LIKE 谓词字符串模式包含无效的转义字符。
2202D配合变异方法使用了空实例。
2202H在 TABLESAMPLE 子句中指定的样本大小无效。
22501变长字符串的长度控制字段为负值或大于最大值。
22504混合数据值是无效的。
22506对日期时间专用寄存器的引用无效,因为 TOD 时钟发生故障或操作系统时区参数超出范围。
22522CCSID 值根本无效,对数据类型或子类型无效,或对编码方案无效。
22526键变换函数没有生成任何行或生成了重复的行。
22527对多行 INSERT 操作检测到了无效的输入数据。