日時割り当て

日付、時刻、またはタイム・スタンプの 列または変数に割り当てる値は、日付、時刻、またはタイム・スタンプであるか、あるいは、 日付、時刻、またはタイム・スタンプの有効なストリング表現である必要があります。

DATE 列または DATE 変数に割り当てられる 値は、日付またはタイム・スタンプか、 日付またはタイム・スタンプの有効なストリング表現でなければなりません。タイム・スタンプ値 を DATE データ・タイプに割り当てると、日付の部分が 抜き出され、時刻の部分は無視されます。 日付を割り当てることができるのは、DATE または TIMESTAMP 列、ストリング列、DATE または TIMESTAMP 変数、ストリング変数に限られます。

TIME 列または TIME 変数 に割り当てられる値は、時刻またはタイム・スタンプか、 時刻またはタイム・スタンプの有効なストリング表現でなければなりません。タイム・スタンプ値を TIME データ・タイプ に割り当てると、日付の部分は無視され、時刻の部分は小数秒を切り捨てて抜き出されます。 時刻を割り当てることができるのは、TIME 列、ストリング列、TIME 変数、ストリング変数に限られます。

TIMESTAMP 列または TIMESTAMP 変数 に割り当てられる値は、日付またはタイム・スタンプか、 日付またはタイム・スタンプの有効なストリング表現でなければなりません。日付またはタイム・スタンプ のストリング表現が使用される場合、ターゲットのタイム・スタンプと同じ精度のタイム・スタンプに暗黙的にキャストされます。日付値を TIMESTAMP データ・タイプ に割り当てると、不足する時刻情報はすべてゼロであると想定されます。 タイム・スタンプを 割り当てることができるのは、DATE 列、TIME 列、TIMESTAMP 列、 ストリング列、DATE 変数、TIME 変数、TIMESTAMP 変数、 ストリング変数に限られます。タイム・スタンプ値をより精度が低いタイム・スタンプに代入すると、余分の小数秒は切り捨てられます。タイム・スタンプ値をより精度が高いタイム・スタンプに代入すると、不足する桁はゼロであるとみなされます。

日付/時刻の値がストリングの変数や列に割り当てられる場合、その値はストリング表現に変換されます。日付、時刻、タイム・スタンプのどの部分からも、先行ゼロは除去されません。 ターゲットの必要な長さは、ストリング表現の形式に応じて変わります。 ターゲットの長さが必要な長さよりも長い場合は、変換結果の右側にブラン クが埋め込まれます。ターゲットの長さが必要な長さよりも短い場合は、そ の結果は、関与する日付/時刻の値のタイプとターゲットのタイプによって変わり ます。

  • ターゲットがストリングの列である場合、切り捨ては許されま せん。以下の規則が適用されます。

    DATE

    • 日付の形式が、*ISO、USA、*EUR、または *JIS の場合、列の長さ属性は 10 以上でなければなりません。日付の形式が *YMD、*MDY、または *DMY の場合、列の長さ属性は 8 以上でなければなりません。 日付の形式が *JUL の場合、変数の長さは 6 以上でなければなりません。

    TIME

    • ターゲットの列の長さ属性は、8 以上でなければなりません。

    TIMESTAMP

    • 列の長さ属性は、少なくとも、 TIMESTAMP(0) の場合は 19、TIMESTAMP(p) の場合は 20+p でなければなりません。
  • ターゲットが変数である場合は、次の規則が適用されます。

    DATE

    • 日付の形式が *ISO、*USA、*EUR、または *JIS の場合、変数の長さは 10 以上でなければなりません。日付の形式が *YMD、*MDY、または *DMY の場合、変数の長さは 8 以上でなければなりません。日付の形式が *JUL の場合、変数の長さは 6 以上でなければなりません。

    TIME

    • *USA 形式を使用するときは、変数の長さは 8 以上でなければなりません。この形式には、秒は含まれていません。
    • *ISO、*EUR、*JIS、または *HMS の時刻形式を使用している場合は、変数の長さは、5 以上でなければなりません。変数の長さが 5、6、または 7 の場合、時刻の秒の部分が結果から除去され、SQLWARN1 に 'W' がセットされます。この場合、標識変数があれば、時刻の秒の部分はその標識変数に割り当てられます。また、長さが 6 または 7 の場合には、変数の値が時刻の有効なストリング表現になるように、ブランクの埋め込みが行われます。

    TIMESTAMP

    • 変数の長さは、19 以上でなければなりません。長さ が 19 から 31 までの場合、タイム・スタンプはストリングと同様に 切り捨てられ、小数秒の 1 つ以上の桁が脱落します。 長さ が 20 の場合、値が精度 0 のタイム・スタンプを表す有効なストリング表現になるように、 末尾の小数点はブランクで置き換えられます。