ANSI SQL:2011準拠の形式は、データ型をANSI準拠SQL文またはTeradata SQL文のいずれかに変換するために使用できます。
Teradataの拡張構文はより一般的なものであり、タイプの宣言またはデータ属性、あるいはその両方が可能です。
CASTの拡張形式は、ANSI準拠の移植可能なアプリケーションでは使用を避けてください。
CAST関数は、ANSIモードでもTeradataモードでも同じように機能します。
日時データ型を変換するときには、CASTに使用するタイムゾーンを指定するために、AT句を使用してください。ソース タイムゾーン、特定のタイムゾーン変位、または現在のセッションのタイムゾーンを指定できるようになります。詳細は、具体的なデータ型の変換についての節(例えば、「TIMESTAMPからDATEへの変換」)を参照してください。
CASTは、次のデータ型 ペアを変換しません。
- サーバー文字セットがGRAPHICに設定されている場合の、数値から文字。
- サーバー文字セットが異なる文字式。
このような変換を実行するには、TRANSLATE関数を使用してください。詳細は、<Teradata Vantage™ SQL関数、式、および述部、B035-1145>の「TRANSLATE」を参照してください。
- バイト(BYTE、VARBYTE、およびBLOB) からUDTまたはバイト以外の任意のデータ型へ、およびバイトまたはUDT以外のデータ型からバイトへ。
- CLOBからUDTまたは文字以外の任意のデータ型へ、および文字またはUDT以外のデータ型からCLOBへ。
地理空間タイプへのキャスト、および地理空間タイプからのキャストについては、<Teradata Vantage™ 地理空間データ型、B035-1181>を参照してください。
UDTの関与するデータ型の変換には、そのUDTに適したCAST定義が必要です。UDTのCASTを定義するには、CREATE CAST文を使用します。