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.