TIMESTAMP-RECORD SQL タイプ

注:OpenESQL のみ

構文

SQL [TYPE] [IS] TIMESTAMP-RECORD

タイムスタンプの各要素に対する個々のレコードが含まれる、タイムスタンプのグループ レベルのレコードを生成するには、次のように TIMESTAMP-RECORD を使用します。

  • 時間
  • 端数秒

データを挿入するには、生成されたフィールド名の有効なデータを渡す必要があります。

  • データは、固定の日付/時間フォーマットで編成する必要があります。
  • 端数秒は、最大 9 桁までサポートされます。ただし、この値は、対象の DBMS と ODBC ドライバによって異なる場合があります。たとえば、DB2 ECM では端数秒は 6 桁に制限されます。Microsoft SQL Server の場合は 3 桁に制限されます。詳細は、DBMS または ODBC ドライバのマニュアルを参照してください。
  • 端数データは左揃えで渡されます。このデータの桁数は、レコードで定義される桁数にします。たとえば、端数データが 9 桁に定義されるレコードに端数値 678 を渡す場合、値 678000000 を移動します。
  • 端数データは、SELECT または FETCH 文から戻される場合は右揃えになります。
  • SQL Server の日付/時間値の保存方法により、端数値の最後の端数桁は数字に応じて切り上げまたは切り捨てられます。次に例を示します。
    渡される値 SQL Server で返される値
    01/01/98 23:59.59.999 1998-01-02 00:00:00.000
    01/01/98 23:59.59.995 1998-01-01 23:59:59.997
    01/01/98 23:59.59.996 1998-01-01 23:59:59.997
    01/01/98 23:59.59.997 1998-01-01 23:59:59.997
    01/01/98 23:59.59.998 1998-01-01 23:59:59.997
    01/01/98 23:59.59.992 1998-01-01 23:59:59.993
    01/01/98 23:59.59.993 1998-01-01 23:59:59.993
    01/01/98 23:59.59.994 1998-01-01 23:59:59.993
    01/01/98 23:59.59.990 1998-01-01 23:59:59.990
    01/01/98 23:59.59.991 1998-01-01 23:59:59.990

01 hv-name SQL TYPE IS TIMESTAMP-RECORD.

この例では、次のように生成されます。

01 hv-name.
  03 hv-name-year  PIC S9(4) COMP-5.
  03 hv-name-month PIC 9(4) COMP-5.
  03 hv-name-day   PIC 9(4) COMP-5.
  03 hv-name-hour  PIC 9(4) COMP-5.
  03 hv-name-min   PIC 9(4) COMP-5.
  03 hv-name-sec   PIC 9(4) COMP-5.
  03 hv-name-frac  PIC 9(9) COMP-5.