データ・タイプが DATE、TIME、または TIMESTAMP の値は、 SQL ユーザーには見えない内部形式で表されます。 ただし、日付、時刻、 およびタイム・スタンプは文字ストリングで表すこともできます。 データ・タイプが DATE、TIME、または TIMESTAMP である定数や変数がないため、 これらの表示は SQL ユーザーに直接かかわってきます。 したがって、日付 / 時刻の値を取り出すには、 この値を文字ストリング変数に割り当てる必要があります。 CHAR 関数を使用すると、 日付 / 時刻値をストリング表記に変更することができます。 通常、文字ストリング表記は、プログラムがプリコンパイルされるとき、 またはデータベースにバインドされるときに、 DATETIME オプションの指定によってオーバーライドされるのでない限り、 データベースの国別コードに関連する日付 / 時刻の値のデフォルトの形式になります。
ラージ・オブジェクト・ストリングや LONG VARCHAR は、 その長さに関係なく、日付 / 時刻値を表すストリングとして使用することはできません。 そのように使用した場合はエラー (SQLSTATE 42884) になります。
日付 / 時刻の値の有効なストリング表記が内部の日付 / 時刻の値の操作に使用される場合、 ストリング表記が日付、時刻、またはタイム・スタンプの内部形式に変換されてから、 操作が実行されます。 次に、日付 / 時刻の値の有効なストリング表記の定義について説明します。
日付のストリング表示は、数字で始まり、 長さが 8 バイト以上の文字ストリングです。 後書きブランクを含めることができます。 月と日の部分の先行ゼロは省略可能です。
日付を示す有効な文字列形式を、表 3 に示します。
各形式の名前を示し、対応する省略形とその使用例も示します。
形式名 | 省略形 | 日付形式 | 例 |
---|---|---|---|
国際標準化機構 | ISO | yyyy-mm-dd | 1991-10-27 |
IBM USA 標準規格 | USA | mm/dd/yyyy | 10/27/1991 |
IBM 欧州標準規格 | EUR | dd.mm.yyyy | 27.10.1991 |
日本工業規格西暦 | JIS | yyyy-mm-dd | 1991-10-27 |
地域別定義 (DB2 データ・リンク・マネージャー 概説およびインストール を参照) | LOC | データベースの国コードに依存 | − |
時刻のストリング表記は、数字で始まり、 長さが 4 バイト以上の文字ストリングです。 後書きブランクを含めることができます。 時刻の時部分の先行ゼロは省略可能であり、 秒は完全に省略することができます。 秒が省略されている場合は、暗黙のうちに 0 秒とみなされます。 したがって、13.30 は 13.30.00 に等しくなります。
時刻を示す有効なストリング形式を、表 4 に示します。
各形式の名前を示し、対応する省略形とその使用例も示します。
形式名 | 省略形 | 時刻形式 | 例 |
---|---|---|---|
国際標準化機構2 | ISO | hh.mm.ss | 13.30.05 |
IBM USA 標準規格 | USA | hh:mm AM または PM | 1:30 PM |
IBM 欧州標準規格 | EUR | hh.mm.ss | 13.30.05 |
日本工業規格西暦 | JIS | hh:mm:ss | 13:30:05 |
地域別定義 (DB2 データ・リンク・マネージャー 概説およびインストール を参照) | LOC | データベースの国コードに依存 | − |
注: