在DB2中进行合并时值不兼容

时间:2019-01-24 14:09:41

标签: php sql db2

我正在尝试根据php脚本中先前选择的参数执行合并,但是我收到错误消息“ SQL0408-​​列,变量或参数QUANTITY的值不兼容”

在我的目标表QUANTITY中,数据类型为INTEGER

在我的选择查询中,我将值转换为int值(它已经存在于表中,我只是为了安全起见将所有内容都强制转换)

cast(MAX(orqtyc) as int) AS QUANTITY,

然后在我的MERGE中,我将其转换为INT

MERGE INTO HNORMANTEST.PLACEMENTS AS P
        USING(VALUES(

            CAST(:QUANTITY as INT),

        ))

使用此参数

$params = [

    ":QUANTITY" => $row["QUANTITY"],

];

为什么会说它不兼容?

1 个答案:

答案 0 :(得分:0)

您尝试通过直接放置值而不是通过参数来尝试它,看看它是否有效。

您可以尝试的另一件事是删除可能不需要的第一个铸件。正如您所说,QUANTITY已经是INT数据类型。

请尝试两种变化。如果两个版本均给出相同的错误,则可能存在某些产品限制/错误。

您需要传递您尝试进一步查看的DB2版本。