DATE

データ形式

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

たとえば、次の日付形式がサポートされています。
yyyy-mm-dd
この形式の値は次のようになります。
1994-05-24

ホスト変数形式

OpenESQL および DB2 ECM
01 date1         PIC X(10).
OpenESQL
01 date2         SQL TYPE IS DATE.
01 date3         SQL TYPE IS DATE-RECORD.
01 date4         PIC X(n).
date1 形式
  • 次の形式を使用して、日付データをホスト変数に移します。
    MOVE "yyyy-mm-dd" TO host-var.
  • DETECTDATE SQL コンパイラ指令オプションのトピックを参照して、アプリケーションに適用されるかどうかを確認してください。
date2 形式
  • 次の形式を使用して、日付データをホスト変数に移します。
    MOVE "yyyy-mm-dd" TO host-var.
  • 推奨される形式です。可能な限り使用してください。
  • DATE SQL TYPE を使用します。
  • date1 形式と似ていますが、Visual COBOL バージョン 2.3 以降を使用している場合は、入力ホスト変数の処理で DETECTDATE を使用する必要はありません。
date3 形式
アプリケーションが ODBC エスケープ シーケンスを使用して日付データをホスト変数に移動する場合は、この形式を使用します。
注: この形式は、Visual COBOL バージョン 2.3 以降では非推奨です。代わりに、DATE および DATEDELIM SQL コンパイラ指令オプションを使用して、ODBC エスケープ シーケンスの使用を避けることを強く推奨します。
  • 次の形式を使用して、日付データをホスト変数に移します。
    MOVE "{d 'yyyy-mm-dd'}" TO host-var.
  • DETECTDATE SQL コンパイラ指令オプションを使用してアプリケーションをコンパイルし、OpenESQL が PIC X フィールドを評価して入力ホスト変数内で使用できる時間形式を探します。
  • n の大きさが、日付の値および ODBC エスケープ シーケンスが使用する文字を含めるために十分なサイズであることを確認します。
  • 出力ホスト変数の値は、ODBC エスケープ シーケンスなしで返されます。
date4 形式
  • 次の形式を使用して、日付データをホスト変数に移します。
    MOVE yyyy TO host-var-year
    MOVE mm TO host-var-month
    MOVE dd to host-var-day
  • DATE-RECORD SQL TYPE を使用します。
OpenESQL JVM Managed Runtime
すべてのデータベースおよび OpenESQL に対して有効な定義に加えて、次の定義も OpenESQL JVM Managed Runtime に対して有効となります。
01 date5         type java.sql.Date.