プライマリ・コンテンツに移動
Oracle® Databaseユーティリティ
12cリリース1 (12.1.0.2)
B71303-09
目次へ移動
目次
索引へ移動
索引

前
次

condition

conditionを使用して、定数文字列とレコードのバイト範囲またはフィールドを比較します。比較のソースは、レコードのフィールドまたはレコードのバイト範囲のいずれかです。比較はバイト単位で実行されます。文字列を比較のターゲットとして指定すると、データ・ファイルのキャラクタ・セットに変換されます。フィールドに文字以外のデータ型が含まれる場合、フィールド値または文字列のどちらでもデータ型変換は実行されません。conditionの構文は次のとおりです。

range start : range end

この句を使用してレコードのバイト範囲または文字範囲を記述して条件を指定します。STRING SIZES ARE句に使用する値で、rangeがバイトを示すか、文字を示すかを決定します。range startおよびrange endは、レコードへのバイト・オフセットまたは文字オフセットです。range startは、range end以下である必要があります。文字範囲の検索は、可変幅キャラクタ・セットのデータに対してより固定幅キャラクタ・セットのデータに対しての方が速く処理されます。範囲が、存在しないレコードの一部を指す場合、その範囲を参照しようとするとレコードは拒否されます。range start:range endは、カッコで囲む必要があります。たとえば、(10:13)となります。

注意:

データ・ファイルには、バイナリ・データ(VARCHARなどのバイナリ・カウントのあるデータ型を含む)および文字データ(可変幅キャラクタ・セットが使用されているか、または文字幅が1バイトより大きいデータ)が混在しないようにする必要があります。この場合、アクセス・ドライバは、開始位置の検索時にバイナリ・データを文字データとして処理するため、フィールドの適切な開始位置を検索できない場合があります。

次に、conditionの使用例を示します。

LOAD WHEN empid != BLANKS
LOAD WHEN (10:13) = 0x'00000830'
LOAD WHEN PRODUCT_COUNT = "MISSING"