Update Function HEX_TO_ASCII
This commit is contained in:
@@ -1 +1,193 @@
|
||||
牄禗袬蒨@\蚕謨@^@
|
||||
SET PATH *LIBL ;
|
||||
|
||||
CREATE OR REPLACE FUNCTION CISTOOLS.HEX_TO_ASCII (
|
||||
IN_HEX VARCHAR(32000) )
|
||||
RETURNS VARCHAR(32000) CCSID 1208
|
||||
LANGUAGE SQL
|
||||
SPECIFIC CISTOOLS.HEX_TO_ASCII
|
||||
NOT DETERMINISTIC
|
||||
READS SQL DATA
|
||||
CALLED ON NULL INPUT
|
||||
SET OPTION ALWBLK = *ALLREAD ,
|
||||
ALWCPYDTA = *OPTIMIZE ,
|
||||
COMMIT = *NONE ,
|
||||
DECRESULT = (31, 31, 00) ,
|
||||
DYNDFTCOL = *NO ,
|
||||
DYNUSRPRF = *USER ,
|
||||
SRTSEQ = *HEX
|
||||
BEGIN
|
||||
RETURN
|
||||
(
|
||||
SELECT
|
||||
LISTAGG (
|
||||
TRIM ( HL . CHAR_VAL ) , '' ) WITHIN GROUP ( ORDER BY HP . POSITION )
|
||||
AS DECODED_TEXT
|
||||
FROM TABLE (
|
||||
SELECT N . RN AS POSITION ,
|
||||
SUBSTR ( H . HEX_STRING , ( N . RN - 1 ) * 2 + 1 , 2 )
|
||||
AS HEX_PAIR
|
||||
FROM TABLE (
|
||||
CISTOOLS . ROWS_COUNTER ( 255 )
|
||||
) N
|
||||
CROSS JOIN TABLE (
|
||||
VALUES IN_HEX
|
||||
) H ( HEX_STRING )
|
||||
WHERE ( N . RN - 1 ) * 2 + 1 <= LENGTH ( H . HEX_STRING )
|
||||
AND ( N . RN - 1 ) * 2 + 2 <= LENGTH (
|
||||
H . HEX_STRING )
|
||||
) HP
|
||||
JOIN TABLE (
|
||||
VALUES ( '00' , CHR ( 0 ) , 0 ) , ( '01' , CHR ( 1 ) , 1 ) ,
|
||||
( '02' , CHR ( 2 ) , 2 ) , ( '03' , CHR ( 3 ) , 3 ) ,
|
||||
( '04' , CHR ( 4 ) , 4 ) , ( '05' , CHR ( 5 ) , 5 ) ,
|
||||
( '06' , CHR ( 6 ) , 6 ) , ( '07' , CHR ( 7 ) , 7 ) ,
|
||||
( '08' , CHR ( 8 ) , 8 ) , ( '09' , CHR ( 9 ) , 9 ) ,
|
||||
( '0A' , CHR ( 10 ) , 10 ) , ( '0B' , CHR ( 11 ) , 11 ) ,
|
||||
( '0C' , CHR ( 12 ) , 12 ) , ( '0D' , CHR ( 13 ) , 13 ) ,
|
||||
( '0E' , CHR ( 14 ) , 14 ) , ( '0F' , CHR ( 15 ) , 15 ) ,
|
||||
( '10' , CHR ( 16 ) , 16 ) , ( '11' , CHR ( 17 ) , 17 ) ,
|
||||
( '12' , CHR ( 18 ) , 18 ) , ( '13' , CHR ( 19 ) , 19 ) ,
|
||||
( '14' , CHR ( 20 ) , 20 ) , ( '15' , CHR ( 21 ) , 21 ) ,
|
||||
( '16' , CHR ( 22 ) , 22 ) , ( '17' , CHR ( 23 ) , 23 ) ,
|
||||
( '18' , CHR ( 24 ) , 24 ) , ( '19' , CHR ( 25 ) , 25 ) ,
|
||||
( '1A' , CHR ( 26 ) , 26 ) , ( '1B' , CHR ( 27 ) , 27 ) ,
|
||||
( '1C' , CHR ( 28 ) , 28 ) , ( '1D' , CHR ( 29 ) , 29 ) ,
|
||||
( '1E' , CHR ( 30 ) , 30 ) , ( '1F' , CHR ( 31 ) , 31 ) ,
|
||||
( '20' , ' ' , 32 ) , ( '21' , '!' , 33 ) , ( '22' ,
|
||||
'"' , 34 ) , ( '23' , '#' , 35 ) , ( '24' , '$' ,
|
||||
36 ) , ( '25' , '%' , 37 ) , ( '26' , '&' , 38 ) ,
|
||||
( '27' , '''' , 39 ) , ( '28' , '(' , 40 ) , ( '29' ,
|
||||
')' , 41 ) , ( '2A' , '*' , 42 ) , ( '2B' , '+' ,
|
||||
43 ) , ( '2C' , ',' , 44 ) , ( '2D' , '-' , 45 ) ,
|
||||
( '2E' , '.' , 46 ) , ( '2F' , '/' , 47 ) , ( '30' ,
|
||||
'0' , 48 ) , ( '31' , '1' , 49 ) , ( '32' , '2' ,
|
||||
50 ) , ( '33' , '3' , 51 ) , ( '34' , '4' , 52 ) ,
|
||||
( '35' , '5' , 53 ) , ( '36' , '6' , 54 ) , ( '37' ,
|
||||
'7' , 55 ) , ( '38' , '8' , 56 ) , ( '39' , '9' ,
|
||||
57 ) , ( '3A' , ':' , 58 ) , ( '3B' , ';' , 59 ) ,
|
||||
( '3C' , '<' , 60 ) , ( '3D' , '=' , 61 ) , ( '3E' ,
|
||||
'>' , 62 ) , ( '3F' , '?' , 63 ) , ( '40' , '@' ,
|
||||
64 ) , ( '41' , 'A' , 65 ) , ( '42' , 'B' , 66 ) ,
|
||||
( '43' , 'C' , 67 ) , ( '44' , 'D' , 68 ) , ( '45' ,
|
||||
'E' , 69 ) , ( '46' , 'F' , 70 ) , ( '47' , 'G' ,
|
||||
71 ) , ( '48' , 'H' , 72 ) , ( '49' , 'I' , 73 ) ,
|
||||
( '4A' , 'J' , 74 ) , ( '4B' , 'K' , 75 ) , ( '4C' ,
|
||||
'L' , 76 ) , ( '4D' , 'M' , 77 ) , ( '4E' , 'N' ,
|
||||
78 ) , ( '4F' , 'O' , 79 ) , ( '50' , 'P' , 80 ) ,
|
||||
( '51' , 'Q' , 81 ) , ( '52' , 'R' , 82 ) , ( '53' ,
|
||||
'S' , 83 ) , ( '54' , 'T' , 84 ) , ( '55' , 'U' ,
|
||||
85 ) , ( '56' , 'V' , 86 ) , ( '57' , 'W' , 87 ) ,
|
||||
( '58' , 'X' , 88 ) , ( '59' , 'Y' , 89 ) , ( '5A' ,
|
||||
'Z' , 90 ) , ( '5B' , '[' , 91 ) , ( '5C' , '\' ,
|
||||
92 ) , ( '5D' , ']' , 93 ) , ( '5E' , '^' , 94 ) ,
|
||||
( '5F' , '_' , 95 ) , ( '60' , '`' , 96 ) , ( '61' ,
|
||||
'a' , 97 ) , ( '62' , 'b' , 98 ) , ( '63' , 'c' ,
|
||||
99 ) , ( '64' , 'd' , 100 ) , ( '65' , 'e' , 101 ) ,
|
||||
( '66' , 'f' , 102 ) , ( '67' , 'g' , 103 ) , ( '68' ,
|
||||
'h' , 104 ) , ( '69' , 'i' , 105 ) , ( '6A' , 'j' ,
|
||||
106 ) , ( '6B' , 'k' , 107 ) , ( '6C' ,
|
||||
'l' , 108 ) , ( '6D' , 'm' , 109 ) , ( '6E' , 'n' ,
|
||||
110 ) , ( '6F' , 'o' , 111 ) , ( '70' ,
|
||||
'p' , 112 ) , ( '71' , 'q' , 113 ) , ( '72' , 'r' ,
|
||||
114 ) , ( '73' , 's' , 115 ) , ( '74' ,
|
||||
't' , 116 ) , ( '75' , 'u' , 117 ) , ( '76' , 'v' ,
|
||||
118 ) , ( '77' , 'w' , 119 ) , ( '78' ,
|
||||
'x' , 120 ) , ( '79' , 'y' , 121 ) , ( '7A' , 'z' ,
|
||||
122 ) , ( '7B' , '{' , 123 ) , ( '7C' ,
|
||||
'|' , 124 ) , ( '7D' , '}' , 125 ) , ( '7E' , '~' ,
|
||||
126 ) , ( '7F' , CHR ( 127 ) , 127 ) , ( '80' , CHR (
|
||||
128 ) , 128 ) , ( '81' , CHR ( 129 ) , 129 ) ,
|
||||
( '82' , CHR ( 130 ) , 130 ) , ( '83' , CHR ( 131 ) ,
|
||||
131 ) , ( '84' , CHR ( 132 ) , 132 ) , ( '85' , CHR (
|
||||
133 ) , 133 ) , ( '86' , CHR ( 134 ) , 134 ) ,
|
||||
( '87' , CHR ( 135 ) , 135 ) , ( '88' , CHR ( 136 ) ,
|
||||
136 ) , ( '89' , CHR ( 137 ) , 137 ) , ( '8A' , CHR (
|
||||
138 ) , 138 ) , ( '8B' , CHR ( 139 ) , 139 ) ,
|
||||
( '8C' , CHR ( 140 ) , 140 ) , ( '8D' , CHR ( 141 ) ,
|
||||
141 ) , ( '8E' , CHR ( 142 ) , 142 ) , ( '8F' , CHR (
|
||||
143 ) , 143 ) , ( '90' , CHR ( 144 ) , 144 ) ,
|
||||
( '91' , CHR ( 145 ) , 145 ) , ( '92' , CHR ( 146 ) ,
|
||||
146 ) , ( '93' , CHR ( 147 ) , 147 ) , ( '94' , CHR (
|
||||
148 ) , 148 ) , ( '95' , CHR ( 149 ) , 149 ) ,
|
||||
( '96' , CHR ( 150 ) , 150 ) , ( '97' , CHR ( 151 ) ,
|
||||
151 ) , ( '98' , CHR ( 152 ) , 152 ) , ( '99' , CHR (
|
||||
153 ) , 153 ) , ( '9A' , CHR ( 154 ) , 154 ) ,
|
||||
( '9B' , CHR ( 155 ) , 155 ) , ( '9C' , CHR ( 156 ) ,
|
||||
156 ) , ( '9D' , CHR ( 157 ) , 157 ) , ( '9E' , CHR (
|
||||
158 ) , 158 ) , ( '9F' , CHR ( 159 ) , 159 ) ,
|
||||
( 'A0' , CHR ( 160 ) , 160 ) , ( 'A1' , CHR ( 161 ) ,
|
||||
161 ) , ( 'A2' , CHR ( 162 ) , 162 ) , ( 'A3' , CHR (
|
||||
163 ) , 163 ) , ( 'A4' , CHR ( 164 ) , 164 ) ,
|
||||
( 'A5' , CHR ( 165 ) , 165 ) , ( 'A6' , CHR ( 166 ) ,
|
||||
166 ) , ( 'A7' , CHR ( 167 ) , 167 ) , ( 'A8' , CHR (
|
||||
168 ) , 168 ) , ( 'A9' , CHR ( 169 ) , 169 ) ,
|
||||
( 'AA' , CHR ( 170 ) , 170 ) , ( 'AB' , CHR ( 171 ) ,
|
||||
171 ) , ( 'AC' , CHR ( 172 ) , 172 ) , ( 'AD' , CHR (
|
||||
173 ) , 173 ) , ( 'AE' , CHR ( 174 ) , 174 ) ,
|
||||
( 'AF' , CHR ( 175 ) , 175 ) , ( 'B0' , CHR ( 176 ) ,
|
||||
176 ) , ( 'B1' , CHR ( 177 ) , 177 ) , ( 'B2' , CHR (
|
||||
178 ) , 178 ) , ( 'B3' , CHR ( 179 ) , 179 ) ,
|
||||
( 'B4' , CHR ( 180 ) , 180 ) , ( 'B5' , CHR ( 181 ) ,
|
||||
181 ) , ( 'B6' , CHR ( 182 ) , 182 ) , ( 'B7' , CHR (
|
||||
183 ) , 183 ) , ( 'B8' , CHR ( 184 ) , 184 ) ,
|
||||
( 'B9' , CHR ( 185 ) , 185 ) , ( 'BA' , CHR ( 186 ) ,
|
||||
186 ) , ( 'BB' , CHR ( 187 ) , 187 ) , ( 'BC' , CHR (
|
||||
188 ) , 188 ) , ( 'BD' , CHR ( 189 ) , 189 ) ,
|
||||
( 'BE' , CHR ( 190 ) , 190 ) , ( 'BF' , CHR ( 191 ) ,
|
||||
191 ) , ( 'C0' , CHR ( 192 ) , 192 ) , ( 'C1' , CHR (
|
||||
193 ) , 193 ) , ( 'C2' , CHR ( 194 ) , 194 ) ,
|
||||
( 'C3' , CHR ( 195 ) , 195 ) , ( 'C4' , CHR ( 196 ) ,
|
||||
196 ) , ( 'C5' , CHR ( 197 ) , 197 ) , ( 'C6' , CHR (
|
||||
198 ) , 198 ) , ( 'C7' , CHR ( 199 ) , 199 ) ,
|
||||
( 'C8' , CHR ( 200 ) , 200 ) , ( 'C9' , CHR ( 201 ) ,
|
||||
201 ) , ( 'CA' , CHR ( 202 ) , 202 ) , ( 'CB' , CHR (
|
||||
203 ) , 203 ) , ( 'CC' , CHR ( 204 ) , 204 ) ,
|
||||
( 'CD' , CHR ( 205 ) , 205 ) , ( 'CE' , CHR ( 206 ) ,
|
||||
206 ) , ( 'CF' , CHR ( 207 ) , 207 ) , ( 'D0' , CHR (
|
||||
208 ) , 208 ) , ( 'D1' , CHR ( 209 ) , 209 ) ,
|
||||
( 'D2' , CHR ( 210 ) , 210 ) , ( 'D3' , CHR ( 211 ) ,
|
||||
211 ) , ( 'D4' , CHR ( 212 ) , 212 ) , ( 'D5' , CHR (
|
||||
213 ) , 213 ) , ( 'D6' , CHR ( 214 ) , 214 ) ,
|
||||
( 'D7' , CHR ( 215 ) , 215 ) , ( 'D8' , CHR ( 216 ) ,
|
||||
216 ) , ( 'D9' , CHR ( 217 ) , 217 ) , ( 'DA' , CHR (
|
||||
218 ) , 218 ) , ( 'DB' , CHR ( 219 ) , 219 ) ,
|
||||
( 'DC' , CHR ( 220 ) , 220 ) , ( 'DD' , CHR ( 221 ) ,
|
||||
221 ) , ( 'DE' , CHR ( 222 ) , 222 ) , ( 'DF' , CHR (
|
||||
223 ) , 223 ) , ( 'E0' , CHR ( 224 ) , 224 ) ,
|
||||
( 'E1' , CHR ( 225 ) , 225 ) , ( 'E2' , CHR ( 226 ) ,
|
||||
226 ) , ( 'E3' , CHR ( 227 ) , 227 ) , ( 'E4' , CHR (
|
||||
228 ) , 228 ) , ( 'E5' , CHR ( 229 ) , 229 ) ,
|
||||
( 'E6' , CHR ( 230 ) , 230 ) , ( 'E7' , CHR ( 231 ) ,
|
||||
231 ) , ( 'E8' , CHR ( 232 ) , 232 ) , ( 'E9' , CHR (
|
||||
233 ) , 233 ) , ( 'EA' , CHR ( 234 ) , 234 ) ,
|
||||
( 'EB' , CHR ( 235 ) , 235 ) , ( 'EC' , CHR ( 236 ) ,
|
||||
236 ) , ( 'ED' , CHR ( 237 ) , 237 ) , ( 'EE' , CHR (
|
||||
238 ) , 238 ) , ( 'EF' , CHR ( 239 ) , 239 ) ,
|
||||
( 'F0' , CHR ( 240 ) , 240 ) , ( 'F1' , CHR ( 241 ) ,
|
||||
241 ) , ( 'F2' , CHR ( 242 ) , 242 ) , ( 'F3' , CHR (
|
||||
243 ) , 243 ) , ( 'F4' , CHR ( 244 ) , 244 ) ,
|
||||
( 'F5' , CHR ( 245 ) , 245 ) , ( 'F6' , CHR ( 246 ) ,
|
||||
246 ) , ( 'F7' , CHR ( 247 ) , 247 ) , ( 'F8' , CHR (
|
||||
248 ) , 248 ) , ( 'F9' , CHR ( 249 ) , 249 ) ,
|
||||
( 'FA' , CHR ( 250 ) , 250 ) , ( 'FB' , CHR ( 251 ) ,
|
||||
251 ) , ( 'FC' , CHR ( 252 ) , 252 ) , ( 'FD' , CHR (
|
||||
253 ) , 253 ) , ( 'FE' , CHR ( 254 ) , 254 ) ,
|
||||
( 'FF' , CHR ( 255 ) , 255 )
|
||||
) HL ( HEX_VAL , CHAR_VAL , DEC_VAL )
|
||||
ON HL . HEX_VAL = UPPER ( HP . HEX_PAIR ) ) ;
|
||||
END ;
|
||||
|
||||
COMMENT ON PARAMETER SPECIFIC FUNCTION CISTOOLS.HEX_TO_ASCII
|
||||
( IN_HEX IS 'Input Hexadecimal' ) ;
|
||||
|
||||
LABEL ON SPECIFIC FUNCTION CISTOOLS.HEX_TO_ASCII
|
||||
IS 'Hex To Ascii' ;
|
||||
|
||||
GRANT ALTER , EXECUTE
|
||||
ON SPECIFIC FUNCTION CISTOOLS.HEX_TO_ASCII
|
||||
TO AMAPICS WITH GRANT OPTION ;
|
||||
|
||||
GRANT EXECUTE
|
||||
ON SPECIFIC FUNCTION CISTOOLS.HEX_TO_ASCII
|
||||
TO PUBLIC ;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user