Search code examples
messagebrokerextended-sql

Trying to add special character (%) sign to variable with following concatenation sign in ESQL, it gives me the the below error


Trying to add special character (%) sign to variable with following concatenation sign, but it gives me the the error: Invalid characters.

DECLARE Percent CHARACTER CAST ( ' %' AS CHARACTER CCSID 1208);

SET AlocatedAmount = 45

SET InPercent = AlocatedAmount||'%'

Result should be: InPercent = 45%

Error:Invalid characters::45 %

What's going wrong here?


Solution

  • So there is also the option of using FORMAT in your CAST

    DECLARE Num INTEGER;
    DECLARE FormattedStr CHAR;  
    SET Num = 45;
    SET FormattedStr = CAST(Num AS CHAR FORMAT '#0%');
    

    More information can be found at https://www.ibm.com/support/knowledgecenter/en/SSMKHH_9.0.0/com.ibm.etools.mft.doc/ak05615_.htm