デリミタとして定義した句読点を、データの中でも使用する必要があります。このような場合、デリミタ文字を2つ続けて記述すると、この文字は1文字のみ指定されたものと解釈され、データの一部として組み込まれます。たとえば、データベースに次の文字列を格納するとします。
(The delimiters are left parentheses, (, and right parentheses, )).)
フィールド指定は次のようにします。
ENCLOSED BY "(" AND ")"
この場合、データベースには次の文字列が格納されます。
The delimiters are left parentheses, (, and right parentheses, ).
このため、隣接するフィールドが同じデリミタを使用すると、問題が発生します。たとえば、次のように指定されている場合、
field1 TERMINATED BY "/" field2 ENCLOSED by "/"
次のデータは正しく解釈されます。
This is the first string/ /This is the second string/
ただし、field1
およびfield2
が次のように隣接している場合、誤った処理が行われます。
This is the first string//This is the second string/
この場合、このデータ全体が、中央に1つの「/」のみを持つ単一の文字列とみなされ、field1
に属するものと解釈されてしまいます。