TIMESTAMP

データ・フォーマット

SQL タイムスタンプ値に COBOL 出力ホスト変数が定義されている場合は、次のフォーマットで日時を指定します。
					yyyy-mm-dd hh:mm:ss[.f[f[...]]]
ここでは、小数点以下の桁数はドライバで定義されます。次に例を示します。
1994-05-24 12:34:00.000

ホスト変数フォーマット

OpenESQL および DB2 ECM
01 timestamp1         PIC X(29).
01 timestamp2         SQL TYPE IS TIMESTAMP.

timestamp2 フォーマットは TIMESTAMP SQL TYPE を使用します。

OpenESQL
01 timestamp3         SQL TYPE IS TIMESTAMP-RECORD.
  • timestamp1 フォーマットを使用する場合:
    • OpenESQL では、DETECTDATE SQL 指令を使用してアプリケーションをコンパイルする必要があります。
    • 時刻指定をホスト変数に移します。
      • 時刻だけを指定するには、次の形式で時刻をホスト変数に移します。
        {t 'hh:mm:ss'} 
      • 時刻と日付を指定するには、次の形式で時刻と日付を一緒にホスト変数に移します。
        {ts 'yyyy-mm-dd
        													hh:mm:ss[.f[f[...]]]'
        例:
        $set sql(dbman=odbc, detectdate) 
         01 timestamp1 pic x(26).
          . . . 
             move "{ts'1965-11-02 12:08:30'}" to timestamp1 
             exec sql 
                 insert into emp (TransDate) values (:timestamp1) 
             end-exec 
  • timestamp2 フォーマットを使用する場合は、特殊文字なしで日付/時刻リテラルを移すことができます。次に例を示します。
    01 timestamp2 SQL TYPE IS TIMESTAMP.
      . . . 
         move "1965-11-02 08:12:56"  to timestamp2
         exec sql 
             insert into emp (TransDate) values (:timestamp2) 
         end-exec
  • timestamp3 フォーマットは TIMESTAMP SQL TYPE を使用します。
OpenESQL JVM Managed Runtime
すべてのデータベースに対して有効な定義と OpenESQL に対して有効な定義に加えて、次の定義も OpenESQL JVM Managed Runtime に対して有効となります。
01 timestamp5         type java.sql.Timestamp.
DB2 ECM

TIMESTAMP データ・タイプの最大長は 26 文字です。