使用CCSID铸造值以匹配db2中的另一个十六进制

问题描述 投票:0回答:1

我有一个查询可以在我的DB2编辑器中手动运行:

SELECT          *
FROM            TableOne T1
WHERE           CAST(T1 . IDENITIFIER AS CHAR(26) CCSID 65535) = x'0213725502A3BC45706AEE6001';

但是,当我尝试使用十六进制值作为参数时,它不起作用:

    SELECT          *
    FROM            TableOne T1
    WHERE           CAST(T1 . IDENITIFIER AS CHAR(26) CCSID 65535) = x':identifier'

如何将x正确附加到字符串值/参数,以便进行动态查询,以便在其中插入标识符?还是有另一种方式,我可以通过将此原始值与ccsid进行匹配来获得相同的结果?

sql db2 db2-400
1个回答
1
投票

您可以在以下语句中将字符串0213725502A3BC45706AEE6001x'0213725502A3BC45706AEE6001'的十六进制表示形式)用作参数值:

SELECT *
FROM TableOne T1
WHERE CAST(T1.IDENITIFIER AS CHAR(26) CCSID 65535) = CAST(HEXTORAW(:identifier) AS CHAR(26) CCSID 65535)
© www.soinside.com 2019 - 2024. All rights reserved.