ページの先頭行へ戻る
PowerSORT V7.0 ユーザーズガイド
FUJITSU Software

1.6.2 フィールドの指定方法

フィールドの指定方法には、固定フィールド指定、および浮動フィールド指定があります。

固定フィールド指定

固定フィールド指定は、レコードの先頭からのバイト位置によって区分されるフィールドの指定方法です。
フィールドの位置は全レコードで共通です。

浮動フィールド指定

浮動フィールド指定は、フィールド分離文字によって区分されるフィールドの指定方法です。
テキストファイルのときに指定できます。フィールド分離文字の位置によってフィールドの位置が決定されるため、レコードごとにフィールドの位置は異なります。浮動フィールド指定には、以下に示す3つの形式があります。

注意

  • テキストファイル浮動フィールド指定の注意事項

    • フィールドの先頭にダブルクォーテーション(")が存在しても、フィールドを囲むダブルクォーテーション(")として扱いません。

    • キーフィールド、集約フィールド、選択フィールド、および再編成フィールドに、フィールド分離文字、およびレコード分離文字を含むことはできません。

    • フィールド分離文字の指定を省略した場合は、空白とタブがフィールド分離文字となります。フィールド分離文字の指定を省略し、空白が連続している場合は、最初の空白がフィールド分離文字となり、残りの空白はフィールドの一部とみなして動作します。

      例) 空白が連続している場合(フィールド分離文字の指定を省略)
      field1□□□field2□field3
      
        2番目のフィールドは「□□field2」となります。なお、「□」は空白を意味します。
    • フィールド分離文字を指定した場合は、フィールド分離文字が連続すると空フィールドが存在するとみなして処理します。

      例) 2番目のフィールドが空フィールドの場合(「;」をフィールド分離文字として指定)
      field1;;field3
    • 自己規定値にフィールド分離文字、およびレコード分離文字を含むことはできません。

  • テキストファイルCSV形式の注意事項

    • ダブルクォーテーション(")で囲まれたフィールド中にレコード分離文字、およびフィールド分離文字(コンマ)が含まれている場合、フィールドのデータとして扱います。なお、ダブルクォーテーション(")で囲まれているとは、先頭がダブルクォーテーション(")で始まるフィールドで、囲みの終わりを表すダブルクォーテーション(")までの範囲を指します。

      例1) 2番目のフィールドがダブルクォーテーションで囲まれているレコード
      field1,"field2",field3
      
        2番目のフィールドの値は「field2」となります。
      例2) 2番目のフィールドの途中までがダブルクォーテーションで囲まれているレコード
      field1,"field2"data,field3
      
        2番目のフィールドの値は「field2data」となります。
      例3) 2番目のフィールドがダブルクォーテーションで囲まれているレコード
      field1,"field2,field2",field3
      
        2番目のフィールドの値は「field2,field2」となります。
    • ダブルクォーテーション(")で囲まれたフィールド内のダブルクォーテーション(")は2つ連続している必要があります。

      例) 2番目のフィールドにダブルクォーテーションを含む場合
      field1,"field2""field2",field3
      
        2番目のフィールドの値は「field2"field2」となります。
    • フィールド分離文字(コンマ)が連続した場合は、空フィールドが存在するとみなして処理します。また、ダブルクォーテーション(")が2つ連続するだけのフィールドは、空フィールドとして処理します。

      例1) 2番目のフィールドが空フィールドの場合(ダブルクォーテーションで囲まれていない)
      field1,,field3
      例2) 2番目のフィールドが空フィールドの場合(ダブルクォーテーションで囲まれている)
      field1,"",field3
    • 自己規定値で指定したフィールド分離文字(コンマ)、レコード分離文字、およびダブルクォーテーション(")は、フィールドのデータとして扱います。

      例1) 自己規定値にフィールド分離文字(コンマ)を含む場合
      自己規定値:   self,char
          ↓
      実際のデータ: "self,char"
      例2) 自己規定値にダブルクォーテーション(")を含む場合
      自己規定値:   self"char
          ↓
      実際のデータ: "self""char"
  • テキストファイルTSV形式の注意事項(各注意事項に関する例はテキストファイルCSV形式を参照してください)

    • ダブルクォーテーション(")で囲まれたフィールド中にレコード分離文字、およびフィールド分離文字(タブ)が含まれている場合、フィールドのデータとして扱います。なお、ダブルクォーテーション(")で囲まれているとは、先頭がダブルクォーテーション(")で始まるフィールドで、囲みの終わりを表すダブルクォーテーション(")までの範囲を指します。

    • ダブルクォーテーション(")で囲まれたフィールド内のダブルクォーテーション(")は2つ連続している必要があります。

    • フィールド分離文字(タブ)が連続した場合は、空フィールドが存在するとみなして処理します。また、ダブルクォーテーション(")が2つ連続するだけのフィールドは、空フィールドとして処理します。

    • 自己規定値で指定したフィールド分離文字(タブ)、レコード分離文字、およびダブルクォーテーション(")は、フィールドのデータとして扱います。