表2-13は、データ型変換が可能なケース、および変換に適用される特定の条件を示しています。ただし次の点に注意が必要です。
- ○: 変換が可能であり、実行されることを意味します。
- ×: データ型に互換性がないことを意味します。
- N/A: これらのデータ型に対する変換規則がすでに定義されていることを意味します。
表2-13 変換規則
|
ターゲット・データ型 |
ソース・データ型 |
DATE |
TIME |
TIME- STAMP |
ADT |
INTERVAL year-month |
INTERVAL day-time |
数値 |
テキスト1 |
DATE ANSI
|
○
|
×
|
○2
|
○2
|
×
|
×
|
×
|
○7
|
TIME
|
×
|
○
|
○3
|
○10
|
×
|
×
|
×
|
○7
|
TIMESTAMP
|
○
|
○4
|
○
|
○
|
×
|
×
|
×
|
○7
|
ADT
|
○
|
○4
|
○
|
○
|
×
|
×
|
×
|
○7
|
INTERVAL year-month
|
×
|
×
|
×
|
×
|
○
|
×
|
EXTRACT5
|
○7
|
INTERVAL day-time
|
×
|
×
|
×
|
×
|
×
|
○
|
EXTRACT5
|
○7
|
数値
|
×
|
×
|
×
|
×
|
CAST6
|
CAST6
|
N/A
|
○7
|
テキスト
|
○8
|
○8
|
○8
|
○8
|
○8
|
○8
|
N/A
|
○9
|
1テキストには、CHAR(TEXT)、NCHAR、VARCHAR(VARYING STRING)、NCHAR VARYINGまたはLONG VARCHARの各データ型が該当します。CHARおよびVARCHARは、キャラクタ・セット名によって修飾できます。
2TIME部分は、00:00:00.00になります。
3DATE部分は、CURRENT_DATEにデフォルト設定されます。
4DATE部分は破棄されます。
5EXTRACT組込みファンクションを使用する必要があります。
6CAST組込みファンクションを使用する必要があります。また、出力は単一フィールド期間である必要があります。
7ターゲットのキャラクタ・セットには、ASCIIが含まれている必要があります。SQLでは適切なASCII表現に値が変換されます。
8ソース・キャラクタ・セットには、ASCIIが含まれている必要があります。また、値がASCIIで表現されている必要があります。
9自動変換が無効な場合、キャラクタ・セットは同一である必要があります。
10DATE部分は、17-NOV-1858にデフォルト設定されます。
有効な代入は次のとおりです。
- TEXTは、TIMESTAMP、TIME、DATEおよびINTERVALに代入できます。構文は、第2.4.3項で定義されている構文に準拠する必要があります。
- TIMESTAMP、TIME、DATE(ANSI)またはINTERVALを直接CHARまたはVARCHARに代入する場合、出力はANSIのリテラル形式になります。
- DATE(VMS)を直接CHARまたはVARCHARに代入する場合、出力は表2-12に示す形式になります。
- 数値データ型は、CAST演算子が使用されている場合のみ、INTERVALデータ型に変換できます。出力されるデータ型は、時間隔修飾子に単一の日時フィールドのみを含むINTERVAL型に制限されます。SQLでは、時間隔修飾子には1フィールドのみが認められています。