使用 CCSID 转换值以匹配 db2 中的另一个十六进制
Casting a value with CCSID to match another hexidecimal in db2
我有一个在我的 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 附加到 sting value/param 以便有一个动态查询,我可以在其中注入标识符?还是有另一种方法可以通过将此原始值与 ccsid 匹配来获得相同的结果?
您可以在以下语句中使用字符串 0213725502A3BC45706AEE6001
(x'0213725502A3BC45706AEE6001'
的十六进制表示)作为参数值:
SELECT *
FROM TableOne T1
WHERE CAST(T1.IDENITIFIER AS CHAR(26) CCSID 65535) = CAST(HEXTORAW(:identifier) AS CHAR(26) CCSID 65535)
我有一个在我的 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 附加到 sting value/param 以便有一个动态查询,我可以在其中注入标识符?还是有另一种方法可以通过将此原始值与 ccsid 匹配来获得相同的结果?
您可以在以下语句中使用字符串 0213725502A3BC45706AEE6001
(x'0213725502A3BC45706AEE6001'
的十六进制表示)作为参数值:
SELECT *
FROM TableOne T1
WHERE CAST(T1.IDENITIFIER AS CHAR(26) CCSID 65535) = CAST(HEXTORAW(:identifier) AS CHAR(26) CCSID 65535)