为什么插入转换后的字符串时出现 SQL0445W 警告?

Why is there SQL0445W warning while inserting casted string?

我正在尝试将数据插入我的 table :

CREATE TABLE TABLE_TEST (
    DAT4 vargraphic(11 CODEUNITS16)
    )
ORGANIZE BY COLUMN 
IN TS21_IFKU01_32F@

INSERT INTO TABLE_TEST
SELECT cast((cast(222718 AS DECIMAL(31, 5))) AS VARGRAPHIC(11 CODEUNITS16)) AS dat4
FROM sysibm.sysdummy1

INSERT return 以下警告:

SQL0445W Value "222718.00000" has been truncated. SQLSTATE=01004

我不明白为什么,因为我之前将我的值转换为 vargraphic(11)。 return代码为2而不是0,批处理认为查询失败。

你知道为什么会出现这个警告吗?

警告不是来自插入,而是来自转换为 vargraphic(11)。 对于 Squirrel,警告仅通过 INSERT 抛出,而不是 SELECT,这让我相信这是问题的原因。

此解决方案有效:

INSERT INTO TABLE_TEST
SELECT left(cast((cast(222718 AS DECIMAL(31, 5))) AS VARGRAPHIC(40 CODEUNITS16)),11) AS dat4
FROM sysibm.sysdummy1