日付/時刻リテラルは、日付、時刻、またはタイムスタンプ値をSQL式の中で宣言します。
ANSI日付/時刻リテラル
ANSI SQLでは、日付、時刻、およびタイムスタンプの値を表わす日付/時刻リテラルを使用できます。ANSI SQLの日付/時刻リテラルには、次の3つのタイプがあります。
- DATE
- TIME
- TIMESTAMP
Teradata SQL日付/時刻リテラル
Teradataには、日付/時刻機能に対する非ANSI拡張も用意されています。
日付または時刻の値と共に使用されるTeradata SQLリテラルは、単純な文字列リテラルであり、文字データと解釈されます。これらは、コンテキスト(通常はFORMAT句によって提供される)に基づいて日付または時刻の値に変換されます。
日付と時刻の値を表現するために使用される文字列リテラルに対する既存のTeradata SQLの演算は、日付/時刻機能への非ANSI拡張機能としてサポートされています。
Teradata SQLの日付および時刻リテラルは、さまざまな形式で日付や時刻の値を文字で表現するため、デフォルトや標準の形式に制限することができませんが、ANSI日付/時刻リテラルは、狭義の形式セットに厳密に制限されています。
Teradata SQLの日付リテラルの既存の機能は、保持されています。
例えば、' YY/MM/DD 'という形式のDATEと定義されている列があったとします。DATE列に割り当てられた文字リテラルとして' 97/12/31 'という値が検出されると、ANSI 日付/時刻形式の導入前と同じようなプロセスで処理が行なわれます。文字リテラルは、DATE形式に対して暗黙的にキャストされるからです。
特に明示されている場合を除き、このセクションで説明するのはすべてANSI日付/時刻リテラルです。