DUMPを使うと、データがダンプされる(バイト列で表示される)。[2008-06-23]
デフォルトでは十進数だが、第2引数で16を指定すると十六進数で表示される。1000を足すと文字セットまで表示されるらしい。けっこう変な仕様だ…二進数でビットを立てるならよくあるけど。
SQL> select dump('ABC') from dual; DUMP('ABC') ---------------------- Typ=96 Len=3: 65,66,67 SQL> select dump('ABC',16) from dual; DUMP('ABC',16) ---------------------- Typ=96 Len=3: 41,42,43 SQL> select dump('ABC',1016) from dual; DUMP('ABC',1016) -------------------------------------------- Typ=96 Len=3 CharacterSet=JA16SJIS: 41,42,43
Lenはデータのバイト数、Typは型を表しているらしい。
Typ | Oracle 9.2.0.1.0 | |
---|---|---|
1 | VARCHAR2 | TO_CHAR() |
2 | NUMBER | TO_NUMBER() |
12 | DATE | |
13 | SYSDATE CURRENT_DATE TO_DATE() |
|
96 | CHAR | |
180 | TIMESTAMP | |
187 | TO_TIMESTAMP() | |
188 | SYSTIMESTAMP CURRENT_TIMESTAMP |
NUMBERやCHAR等は、桁数に関わらず同じTypらしい。
DATEやTIMESTAMPは、関数を呼んだ場合とテーブルの項目にした場合ではTypの値が異なるらしい。