メインフレーム DB2 アプリケーションでの PIC X 文字入力ホスト変数の datetime の値に、PostgreSQL でサポートされているフォーマットとは別のフォーマットを使用できるようにします。
制約事項: 本トピックは、HCOPG SQL コンパイラ指令オプション DETECTDATE にのみ該当します。OpenESQL SQL コンパイラ指令オプション DETECTDATE の使用の詳細については、「SQL コンパイラ指令オプション」の「DETECTDATE」を参照してください。
DETECTDATE により、入力ホスト変数の代替フォーマットを指定できます。HCOPG は、DETECTDATE で指定されたフォーマットと PostgreSQL で認識されるフォーマットとの間の変換を管理します。これは、SQL 呼び出しごとに入出力の両方で行われます。
たとえば、PostgreSQL では、「HCOPG の日付時刻のデータ型の処理」に記載のとおり、datetime フィールド用にフォーマットされた値がサポートされています。PostgreSQL でサポートされていない datetime フォーマット (EUR など) を使用するメインフレーム DB2 アプリケーションでは、PostgreSQL
データベースでそれらのフォーマットを使用できない場合でも、DETECTDATE を使用して PostgreSQL データベースに対してそれを実行することで、EUR の datetime フォーマットをそのまま残すことできます。
重要: DETECTDATE は、どうしても必要な場合にのみ、慎重に使用してください。DETECTDATE を使用する前に、ここに示されるすべてのオプション、「HCOPG の日付時刻のデータ型の処理」に記載のすべての情報、「DATE」および「TIME」のトピックにある情報を注意深く検証し、アプリケーションに最適なオプションを決定してください。
構文:
[NO]DETECTDATE
DETECTDATE={CLIENT | SQLTYPE | SERVER | PICX}
パラメーター:
- CLIENT
- DBMAN=ODBC にのみ適用されます。
- 入力ホスト変数
- PIC X 文字入力ホスト変数では、HCOPG は指定された datetime フォーマットを認識し、処理するためにそのデータを PostgreSQL で使用できるフォーマットに変換します。入力ホスト変数に指定される datetime フォーマットは次のとおりです。
- Date
- メインフレームのデフォルト。DATE HCOPG 指令を指定することでオーバーライドできます。
- Time
- メインフレームのデフォルト。TIME HCOPG 指令を指定することでオーバーライドできます。
- Timestamp
-
- yyyy-mm-dd-hh.mm.ss.ffffff
- yyyy-mm-dd hh.mm.ss.ffffff
- yyyy-mm-dd hh:mm:ss.ffffff
- yyyy-mm-ddThh.mm.ss.ffffff
- yyyy-mm-ddThh:mm:ss.ffffff
- 出力ホスト変数
- PIC X および SQLTYPE 出力文字ホスト変数の場合、HCOPG は次の datetime フォーマットで出力ホスト変数のデータを返します。
- Date
- メインフレームのデフォルト。DATE HCOPG 指令を指定することでオーバーライドできます。
- Time
- メインフレームのデフォルト。TIME HCOPG 指令を指定することでオーバーライドできます。
- Timestamp
- yyyy-mm-dd-hh.mm.ss.ffffff
- SQLTYPE
- DBMAN=ODBC にのみ適用されます。処理は CLIENT オプションと同一ですが、SQLTYPE ホスト変数のみに適用され PIC X には適用されません。
- SERVER
- DBMAN=ODBC にのみ適用されます。
DBMS に対して SQLDescribeParam 呼び出しを発行し、どの入力ホスト変数および出力ホスト変数がデータベースの特定の文字の列または日時の列に関連付けられているかを特定します。日時の列に関連付けられているホスト変数は、CLIENT
にリストされる日時のフォーマットを使用して変換されます。文字の列は変換されません。
- PICX
- CLIENT オプションと同じです。下位互換性のために提供されています。
プロパティ:
| デフォルト: |
DETECTDATE を指定しない場合、デフォルトは次のようになります。NODETECTDATE
DETECTDATE を引数なしで指定する場合、デフォルトは次のようになります。DETECTDATE=CLIENT
|
範囲:
| コンパイル時の使用: |
あり |
| 実行時の動作: |
ソース ファイル |
詳細については、「範囲 - HCOPG SQL コンパイラ指令オプション」を参照してください。