为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:18
【操作系统】:CentOS Linux release 7.8.2003 (Core)
【CPU】:
【问题描述】*:
执行SQL报错:[22000][-6149] 数据转换丢失警告
SQL如下:
insert into R_t1(department_id, period, sort_index, Q, W, A, B, C)
select department_id,
period,
'1',
'1',
'01',
A1,
B1,
C1
from R_t2;
A1和A字段是NUMBER类型,A1 NUMBER(19,2),A NUMBER(7,2),A1列数据为100.00,精度符合A字段要求,并且验证过精度不一致,只要数据符合要求不会报错,其他字段类型都一致VARCHAR2(100)。
有没有知道原因的朋友解答下
可能是你的A1数据往A中插入的时候数据过大 导致这个错误 我在MYSQL使用convert(字段(int类型),char),到了达梦convert(char,字段(int类型)) 就会报错 数据转换丢失警告,如果是个位数就不会报错,超了个位数就会报 我猜想达梦转换成char可能只能转成1位 多一位就会报错, 以上只是个人实践所得结论,如有不对请大神指正。 cost()也会出现类似的问题