データ・タイプのプロモーション

データ・タイプは、関連したデータ・タイプに分類することができます。そのようなグループ内では、あるデータ・タイプが別の データ・タイプに優先すると考えられるような優先順位が存在します。この優先順位によって、データベース・マネージャーは、1 つのデータ・タイプの、 優先順位の低い別のデータ・タイプへのプロモーション を サポートできます。 例えば、データ・タイプ CHAR は VARCHAR へのプロモーションが可能であり、 INTEGER は DOUBLE PRECISION へのプロモーションが可能ですが、 CLOB は VARCHAR へのプロモーションができません。

データベース・マネージャーは、以下のようなときにプロモーションを検討します。

表 1 は、データベース・マネージャーが各データ・タイプをプロモートできる データ・タイプを判定するために使用するデータ・タイプごとの優先順位リストを示しています。この表は、最良の選択は同一データ・タイプであり、別のデータ・タイプにプロモーションしないことであることを示しています。 また、この表は、プロモーション・プロセスでは同等であると考えられるデータ・タイプも示していることに注意してください。 例えば、CHARACTER と GRAPHIC は同等のデータ・タイプであると考えられます。

表 1. データ・タイプの優先順位表
データ・タイプ データ・タイプ優先順位リスト (高いものから低いものへの順)
SMALLINT SMALLINT、INTEGER、BIGINT、decimal、real、double、DECFLOAT
INTEGER INTEGER、BIGINT、decimal、real、double、DECFLOAT
BIGINT BIGINT、decimal、real、double、DECFLOAT
10 進数 decimal、real、double、DECFLOAT
real real、double、DECFLOAT
double double、DECFLOAT
DECFLOAT DECFLOAT
CHAR または GRAPHIC CHAR または GRAPHIC、VARCHAR または VARGRAPHIC、CLOB または DBCLOB
VARCHAR または VARGRAPHIC VARCHAR または VARGRAPHIC、CLOB または DBCLOB
CLOB または DBCLOB CLOB または DBCLOB
CHAR FOR BIT DATA CHAR、VARCHAR、CLOB、BINARY、VARBINARY、BLOB
VARCHAR FOR BIT DATA VARCHAR、CLOB、VARBINARY、BLOB
BINARY BINARY、VARBINARY、BLOB、CHAR FOR BIT DATA、VARCHAR FOR BIT DATA
VARBINARY VARBINARY、BLOB、VARCHAR FOR BIT DATA
BLOB BLOB
DATE DATE、TIMESTAMP
TIME TIME
TIMESTAMP TIMESTAMP
DATALINK DATALINK
ROWID ROWID
XML XML
ARRAY ARRAY
udt 同じ udt
注:
小文字で示したタイプの定義は、以下のとおりです。
10 進数
= DECIMAL(p,s) または NUMERIC(p,s)
real
= REAL または FLOAT(n)。この場合の n は短精度浮動小数点数の指定
double
= DOUBLE、DOUBLE PRECISION、FLOAT または FLOAT(n)。 この場合の n は倍精度浮動小数点数の指定
udt
= ユーザー定義タイプ

リストされているデータ・タイプの短形式と長形式の同義語は、 リストされている同義語と同じと見なされます。

文字ストリングとグラフィック・ストリングは、Unicode データの場合にのみ互換性があります。