TIME

データ フォーマット

デフォルトの時刻と代替時刻は、値の形式が異なります。DB2 ECM を使用する場合は、形式の違いに関する IBM の資料を参照してください。OpenESQL の詳細については、TIME および TIMEDELIM SQL コンパイラ指令オプションのトピックを参照してください。

たとえば、サポートされている時刻形式は次のとおりです。
hh:mm:ss
この形式の値は次のようになります。
12:34:00

ホスト変数フォーマット

OpenESQL および DB2 ECM
01 time1         PIC X(8).
OpenESQL
01 time2         SQL TYPE IS TIME.
01 time3         PIC X(n).
01 time4         SQL TYPE IS TIME-RECORD.
time1形式
  • 次のいずれかの形式を使用して、時刻データをホスト変数に移します。
    MOVE "hh:mm:ss" TO host-var.
    MOVE "hh.mm.ss" TO host-var.
    MOVE "hh:mm PM" TO host-var.
  • DETECTDATE SQL コンパイラ指令オプションのトピックを参照して、アプリケーションに適用されるかどうかを確認してください。
time2形式
  • 次の形式を使用して、時刻データをホスト変数に移します。
    MOVE "hh:mm:ss" TO host-var.
    MOVE "hh.mm.ss" TO host-var.
    MOVE "hh:mm PM" TO host-var.
  • 推奨される形式。可能な限り使用します。
  • TIME SQL TYPE を使用します。
  • time1形式と似ていますが、Enterprise Developer バージョン 2.3 以降を使用している場合は、入力ホスト変数の処理に DETECTDATE は必要ありません。
time3形式
アプリケーションが ODBC エスケープ シーケンスを使用して時刻データをホスト変数に移動する場合は、この形式を使用します。
注:この形式は、Enterprise Developer バージョン 2.3 以降では非推奨です。代わりに、TIME および TIMEDELIM SQL コンパイラ指令オプションを使用して、ODBC エスケープ シーケンスの使用を避けることを強く推奨します。
  • 次の形式を使用して、時刻データをホスト変数に移します。
    MOVE "{t 'hh:mm:ss'}" TO host-var. 
  • DETECTDATE SQL コンパイラ指令オプションを使用してアプリケーションをコンパイルし、OpenESQL が PIC X フィールドを評価して入力ホスト変数内で使用できる時刻形式を探します。
  • n の大きさが、時刻の値と ODBC エスケープ シーケンスで使用される文字を含むのに十分であることを確認します。
  • 出力ホスト変数値は、ODBC エスケープ シーケンスなしで返されます。
time4形式
  • 次の形式を使用して、時刻データをホスト変数に移します。
    MOVE hh TO host-var-hour
    MOVE mm TO host-var-min
    MOVE ss TO host-var-sec
  • TIME-RECORD SQL TYPE を使用します。
OpenESQL .NET Managed Runtime
すべてのデータベースに対して有効な定義と OpenESQL に対して有効な定義に加えて、次の定義も OpenESQL .NET Managed Runtime に対して有効となります。
01 time5         type System.TimeSpan.