2016-02-26 86 views
0

我試圖把MQMD.MsgId到XMLNSC.MsgId領域,像這樣:如何將hexBinary(MsgId)轉換爲esql中的字符?

SET OutputRoot.XMLNSC.Root.MsgId = InputRoot.MQMD.MsgId;

但是我卻越來越X'414d51204d39392e5352442e4330302e56c47bd4203b3708',而不是僅僅414d51204d39392e5352442e4330302e56c47bd4203b3708

另外我試圖將MsgId強制轉換爲CHARACTER,但結果相同。

如何擺脫引號和'X'?

+0

你有下面的答案,但請記住,的MsgId字段是一個二進制領域結,這意味着,如果你在的的MsgID場移動的字符數據需要數據轉換的平臺,MsgId字段不會被轉換。 –

+0

謝謝,我只是認爲有更多漂亮的解決方案,然後使用子字符串。 – CaptainFreedom

+0

你是否有意在那裏發表評論。沒有任何意義。你是否理解數據轉換的含義 - 或者說缺少它? –

回答

1

你可以嘗試這樣的事:

DECLARE msgId CHARACTER CAST(InputRoot.MQMD.MsgId AS CHARACTER); 
SET OutputRoot.XMLNSC.Root.MsgId = SUBSTRING(msgId FROM 3 FOR LENGTH(msgId) - 3);