Teradata Databaseは、以下の場合にDateTimeデータ型の暗黙的変換を実行します。
- 動的パラメータ マーカー、または疑問符(?)プレースホルダーを使用してデータを渡すとき。
- INSERT、INSERT...SELECT、およびUPDATE文を使用する場合。
- MERGE INTO文を使用する場合。
- CREATE/ALTER TABLE文のデフォルト値を処理する場合。詳細は、DEFAULT句を参照してください。
- DECLARE、SELECT...INTO、およびSET文の実行など、ストアド プロシージャの実行中。 <Teradata Vantage™ - SQLストアド プロシージャおよび埋め込みSQL、B035-1148>を参照してください。
暗黙の変換はクライアント側のサポートによって異なります。DateTime型の暗黙の変換をサポートするクライアント製品の詳細について、Teradata Tools and Utilitiesユーザー マニュアルを参照してください。
以下の変換をサポートします。
ソース | ターゲット | 詳細についての参照先 |
---|---|---|
DATE | TIMESTAMP | DATEからTIMESTAMPへの暗黙的変換 |
TIME | TIMESTAMP | TIMEからTIMESTAMPへの暗黙的変換 |
TIMESTAMP | DATE | TIMESTAMPからDATEへの暗黙的変換 |
TIMESTAMP | TIME | TIMESTAMPからTIMEへの暗黙的変換 |
INTERVAL | INTERVAL | INTERVALからINTERVALへの暗黙的変換 |
Teradata Databaseは次の場合、代入時にDateTimeデータ型に対して暗黙的変換を実行します。
ソース | ターゲット | 詳細についての参照先 |
---|---|---|
DATE | TIMESTAMP | DATEからTIMESTAMPへの暗黙的変換 |
TIME | TIMESTAMP | TIMEからTIMESTAMPへの暗黙的変換 |
TIMESTAMP | DATE | TIMESTAMPからDATEへの暗黙的変換 |
TIMESTAMP | TIME | TIMESTAMPからTIMEへの暗黙的変換 |
INTERVAL | EXACT NUMERIC | INTERVALタイプはフィールドが1つだけ必要です(例えば、INTERVAL YEAR)。 |
EXACT NUMERIC | INTERVAL | INTERVALタイプはフィールドが1つだけ必要です(例えば、INTERVAL YEAR)。 |
数値からINTERVAL型への変換には全般的な制限があります。INTERVAL型には日時フィールドが1つだけ必要になります。ただし、この制限は、AT句の式を暗黙的に変換する際には問題になりません。その理由は、この変換が2つのCAST文を使用して実行されるためです。<Teradata Vantage™ - SQLの日付/時刻関数と式、B035-1211>の「ANSI INTERVAL式」にあるdate_time_expressionの定義を参照してください。
Teradata Databaseは次の場合、単一テーブル述部と結合述部でDateTimeデータ型に対して暗黙的変換を実行します。
ソース | ターゲット | 詳細についての参照先 |
---|---|---|
TIMESTAMP | DATE | TIMESTAMPからDATEへの暗黙的変換 |
INTERVAL | EXACT NUMERIC | INTERVALタイプはフィールドが1つだけ必要です(例えば、INTERVAL YEAR)。 |
EXACT NUMERIC | INTERVAL | 数値からINTERVALへの暗黙的変換 |
詳細については、<Teradata Vantage™ - SQL関数、式、および述部、B035-1145>の「比較オペランドの暗黙的な型の変換」を参照してください。
以下の変換はサポートしません。
- 比較では、TIMEからTIMESTAMPへ、またTIMESTAMPからTIMEへの暗黙的な変換はサポートしません。
- 集合操作での日時タイプの暗黙的な変換。