ダンプ関数

select DUMP('a',16) from dual;
select DUMP('あ',16) from dual;

select DUMP('a',1016) from dual;
select DUMP('あ',1016) from dual;


SELECT UTL_RAW.CAST_TO_VARCHAR2(HEXTORAW('61')) FROM DUAL;
SELECT UTL_RAW.CAST_TO_VARCHAR2(HEXTORAW('E38182')) FROM DUAL;
SELECT UTL_RAW.CAST_TO_VARCHAR2(HEXTORAW('F09F9880')) FROM DUAL;

--文字をいったんバイナリ表現し、再度文字に戻す
SELECT UTL_RAW.CAST_TO_VARCHAR2(HEXTORAW(trim(replace(substr(DUMP('a',16),instr(DUMP('a',16),':')+1),',')) )) FROM DUAL;
SELECT UTL_RAW.CAST_TO_VARCHAR2(HEXTORAW(trim(replace(substr(DUMP('あ',16),instr(DUMP('あ',16),':')+1),',')) )) FROM DUAL;

SELECT HEX('a');
SELECT HEX('あ');


SELECT 0x61, HEX('a'), UNHEX(HEX('a'));
SELECT 0xE38182, HEX('あ'), UNHEX(HEX('あ'));

 

select convert_to('a','UTF8');
select convert_to('あ','UTF8');

select convert_from(convert_to('a','UTF8'),'UTF8');
select convert_from(convert_to('あ','UTF8'),'UTF8');

select cast('a' as varbinary(100));
select cast('あ' as varbinary(100));

select cast(cast('a' as varbinary(100)) as varchar(100));
select cast(cast('あ' as varbinary(100)) as varchar(100));