zOs/SQL/EXCAST
with a as
(
select cast(x'85828384F1F2F340' as char(8) for bit data) bitEbc
, cast(x'756E696331323320' as char(8) for bit data) bitUni
from sysibm.sysDummy1
)
select bitEbc, hex(bitEbc)
, cast(bitebc as char(8) ccsid ebcdic) ebcBitEbc
, cast(bitEbc as char(8) ccsid unicode) uniBitEbc
, cast(bitEbc as char(8) ccsid 500 ) "500BitEbc"
, cast(bitEbc as char(8) ccsid 1208) "1208BitEbc"
, bitUni, hex(bitUni)
, cast(bitUni as char(8) ccsid ebcdic) ebcBitUni
, cast(bitUni as char(8) ccsid unicode) uniBitUni
, CAST(bitUni AS CHAR(8) CCSID 500) "500BitUni"
, CAST(bitUni AS CHAR(8) CCSID 1208) "1208BitUni"
, CCSID_ENCODING(1208) enc1208
, CCSID_ENCODING(500) enc500
from a
;
with a as
( select 'abcXYZ' a from sysibm.sysDummyE)
, b as
( select
cast( a as char(6) ccsid ebcdic ) ebc
, cast( a as char(6) ccsid unicode) uni
from a
)
, c as
( select ebc, uni
, cast( ebc as binary(6)) binEbc
, cast( uni as binary(6)) binUni
from b
)
select 'ebc=ebc', l.ebc, r.ebc
from c l left join c r on l.ebc = r.ebc
union all select 'ebc=uni', l.ebc, r.ebc
from c l left join c r on l.ebc = r.uni
union all select 'ebc=binEbc', l.ebc, r.ebc
from c l left join c r on binary(l.ebc) = r.binEbc
union all select 'ebc=binUni', l.ebc, r.ebc
from c l left join c r on binary(l.ebc) = r.binUni
;
with a as
( select 'abcXYZ' a from sysibm.sysDummyE)
, b as
( select
cast( a as char(6) ccsid ebcdic ) ebc
, cast( a as char(6) ccsid unicode) uni
from a
)
, c as
( select ebc, uni
, cast( ebc as binary(6)) binEbc
, cast( uni as binary(6)) binUni
, cast( ebc as char(6) for bit data) bitEbc
, cast( uni as char(6) for bit data) bitUni
from b
)
select ebc, hex(ebc), uni, hex(uni)
, binebc, hex(binebc)
, binuni, hex(binuni)
, bitebc, hex(bitebc)
, bituni, hex(bituni)
, cast(bitEbc as char(6) ccsid ebcdic ) ebcBitEbc
, cast(bitEbc as char(6) ccsid unicode) uniBitEbc
, cast(bitUni as char(6) ccsid ebcdic ) ebcBitUni
, cast(bitUni as char(6) ccsid unicode) uniBitUni
from c
;x;
select hex(cast('ebcdic 12' as char(12) ccsid ebcdic))
, hex(cast('unicode 12' as char(12) ccsid unicode))
from sysibm.sysDummy1
;x;
;;