S-JIS[2010-07-19] 変更履歴

DUMP関数

Oracleの(SQLの)DUMP関数のメモ。


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の値が異なるらしい。

他言語でデータの型を調べる方法


Oracle関数へ戻る / SQLメモへ戻る / Oracle目次へ戻る / 技術メモへ戻る
メールの送信先:ひしだま