ヘッダーをスキップ

Oracle Rdb SQLリファレンス・マニュアル リリース7.2 E06178-01 |
| 目次 | 索引

戻る | 次へ |

表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フィールドのみが認められています。