ENCLOSED BY句を使用し、TERMINATED BY句も使用するフィールドの場合は、次の処理が行われます。
フィールドの先頭に空白がある場合は、その空白がすべてスキップされます。
最初に検出される空白以外の文字は、最初のENCLOSED BYデリミタに一致する文字列の先頭である必要があります。そうでない場合、行は拒否されます。
最初のENCLOSED BYデリミタが検出された場合は、2番目のENCLOSED BYデリミタの検索が開始されます。
2番目のENCLOSED BYデリミタが最初のデリミタと隣合せで検出された場合は、1つのデリミタが記述されていると解釈した上で、フィールドのデータ要素に含まれます。引き続き、次にある2番目のENCLOSED BYデリミタが検索されます。
2番目のENCLOSED BYデリミタが検出される前にレコードの終わりが検出された場合、その行は拒否されます。
2番目のENCLOSED BYデリミタが検出された場合は、パーサーによりTERMINATED BYデリミタが検索されます。TERMINATED BYデリミタがWHITESPACE以外の場合、2番目のENCLOSED BYデリミタの最後とTERMINATED BYデリミタの間にある空白はスキップされます。
注意:
2番目のENCLOSED BYデリミタとTERMINATED BYデリミタの間に使用できるのは、WHITESPACEのみです。それ以外の文字があると、エラーが発生します。
TERMINATED BYデリミタが検出される前にレコードの終わりが検出された場合でも、行は拒否されません。