データ・タイプのプロモーション
データ・タイプは、関連したデータ・タイプに分類することができます。そのようなグループ内では、あるデータ・タイプが別の データ・タイプに優先すると考えられるような優先順位が存在します。この優先順位によって、データベース・マネージャーは、1 つのデータ・タイプの、 優先順位の低い別のデータ・タイプへのプロモーション を サポートできます。 例えば、データ・タイプ CHAR は VARCHAR へのプロモーションが可能であり、 INTEGER は DOUBLE PRECISION へのプロモーションが可能ですが、 CLOB は VARCHAR へのプロモーションができません。
データベース・マネージャーは、以下のようなときにプロモーションを検討します。
- 関数解決を実行するとき (関数解決を参照)
- 特殊タイプをキャストするとき (データ・タイプ間のキャストを参照)
- 特殊タイプを組み込みデータ・タイプに割り当てるとき (特殊タイプの比較を参照)
表 1 は、データベース・マネージャーが各データ・タイプをプロモートできる データ・タイプを判定するために使用するデータ・タイプごとの優先順位リストを示しています。この表は、最良の選択は同一データ・タイプであり、別のデータ・タイプにプロモーションしないことであることを示しています。 また、この表は、プロモーション・プロセスでは同等であると考えられるデータ・タイプも示していることに注意してください。 例えば、CHARACTER と GRAPHIC は同等のデータ・タイプであると考えられます。
データ・タイプ | データ・タイプ優先順位リスト (高いものから低いものへの順) |
---|---|
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 |
注:
小文字で示したタイプの定義は、以下のとおりです。
リストされているデータ・タイプの短形式と長形式の同義語は、 リストされている同義語と同じと見なされます。 文字ストリングとグラフィック・ストリングは、Unicode データの場合にのみ互換性があります。 |