In Figure 10-4, both fields are stored with leading whitespace. Fields do not include leading whitespace in the following cases:
When the previous field is terminated by whitespace, and no starting position is specified for the current field
When optional enclosure delimiters are specified for the field, and the enclosure delimiters are not present
These cases are illustrated in the following sections.
If the previous field is
WHITESPACE, then all whitespace after the field acts as the delimiter. The next field starts at the next nonwhitespace character. Figure 10-5 illustrates this case.
Figure 10-5 Fields Terminated by Whitespace
This situation occurs when the previous field is explicitly specified with the
WHITESPACE clause, as shown in the example. It also occurs when you use the global
Leading whitespace is also removed from a field when optional enclosure delimiters are specified but not present.
Whenever optional enclosure delimiters are specified, SQL*Loader scans forward, looking for the first enclosure delimiter. If an enclosure delimiter is not found, then SQL*Loader skips over whitespace, eliminating it from the field. The first nonwhitespace character signals the start of the field. This situation is shown in Field 2 in Figure 10-6. (In Field 1 the whitespace is included because SQL*Loader found enclosure delimiters for the field.)
Figure 10-6 Fields Terminated by Optional Enclosure Delimiters
Unlike the case when the previous field is
WHITESPACE, this specification removes leading whitespace even when a starting position is specified for the current field.
If enclosure delimiters are present, then leading whitespace after the initial enclosure delimiter is kept, but whitespace before this delimiter is discarded. See the first quotation mark in Field 1, Figure 10-6.