SQL 関数一覧 (E‐N) > HEXTORAW、RAWTOHEX

16 進表記文字列を RAW に、RAW を 16進表記文字列に変換

syntax

HEXTORAW ( string )
return [ RAW ]

parameter

string文字列式

return

  • 16 進数で表記された文字列式を RAW 型にして戻す。

avail

  • SQL および PL/SQL の両方で使用可能。

syntax

RAWTOHEX ( raw )
RAWTONHEX ( raw )
return [ VARCHAR2 | NVARCHAR2 ]

parameter

rawRAW 型 式

return

  • RAW 型 を 16 進数 文字列に変換して戻す。

avail

  • SQL および PL/SQL の両方で使用可能。

HEXTORAW 関数の内容

16 進数で記述された文字列式 string を RAW 型に変換する。

RAWTOHEX、RAWTONHEX 関数の内容

RAW 型を 16 進表記の文字列にする。RAWTOHEX の場合にはデータベースキャラクタセット文字列、RAWTONHEX の場合には各国語キャラクタセット文字列を戻す。

注意

RAWTOHEX の引数は RAW 型であることを使用者が確認しなければ正しい結果は得られない。PL/SQL の場合には BLOB も許される。
また、TO_RAW という関数もあるにはあるが BLOB を RAW に変換するという内容で、利用目的が異なる上、マニュアルに記載されていない関数である。

HEXTORAW 使用例

SQL> select hex, dump(hextoraw(hex), 16) hex_raw from hextoraw_sample;
 
HEX                  HEX_RAW
-------------------- ------------------------------------
0000                 Typ=23 Len=2: 0,0
FFFF                 Typ=23 Len=2: ff,ff
01020400680a0c0e10   Typ=23 Len=9: 1,2,4,0,68,a,c,e,10

Typ=23 とは ⇒ データ型のタイプコード

 
SQL> select utl_raw.cast_to_varchar2(HEXTORAW('82a0')) char_c from dual;
 
CHAR_C
----------------------------------------------------------------------------
 
あ
 
SQL> select utl_raw.cast_to_nvarchar2(HEXTORAW('3042')) nchar_c from dual;
 
NCHAR_C
----------------------------------------------------------------------------
 
あ
 

RAWTOHEX の推奨されない使用例

数値型や文字列型を指定してもエラーにはならず、大抵は正しい結果にならない。(想像通りの結果ではあるが)

SQL> select RAWTOHEX(1) num, RAWTOHEX(1d) d,
  2         RAWTOHEX('1') str, RAWTOHEX(chr(1)) str2 from dual;
 
NUM      D                    STR  STR2
-------- -------------------- ---- ----
C102     BFF0000000000000     31   01


バイナリ・文字列変換に関連する内容

SQL - HEXTORAW,RAWTOHEX 関連

 
アルファベット別 関数一覧 ショートカット
ABCDEFG
HILMNOP
RSTUVWX
日本オラクル
■ 日本オラクル 株式会社
■ オラクルマスター資格 (オラクルマスターとは
■ 会員制(無料)の公式技術サイト