The trim_spec
clause is used to specify that spaces should be trimmed from the beginning of a text field, the end of a text field, or both. Spaces include blanks and other nonprinting characters such as tabs, line feeds, and carriage returns. The syntax for the trim_spec
clause is as follows:
NOTRIM
indicates that no characters will be trimmed from the field.
LRTRIM
, LTRIM
, and RTRIM
are used to indicate that characters should be trimmed from the field. LRTRIM
means that both leading and trailing spaces are trimmed. LTRIM
means that leading spaces will be trimmed. RTRIM
means trailing spaces are trimmed.
LDRTRIM
is used to provide compatibility with SQL*Loader trim features. It is the same as NOTRIM
except in the following cases:
If the field is not a delimited field, then spaces will be trimmed from the right.
If the field is a delimited field with OPTIONALLY
ENCLOSED
BY
specified, and the optional enclosures are missing for a particular instance, then spaces will be trimmed from the left.
The default is LDRTRIM
. Specifying NOTRIM
yields the fastest performance.
The trim_spec
clause can be specified before the field list to set the default trimming for all fields. If trim_spec
is omitted before the field list, then LDRTRIM
is the default trim setting. The default trimming can be overridden for an individual field as part of the datatype_spec
.
If trimming is specified for a field that is all spaces, then the field will be set to NULL
.
In the following example, all data is fixed-length; however, the character data will not be loaded with leading spaces. The example is followed by a sample of the data file that can be used to load it.
CREATE TABLE emp_load (first_name CHAR(15), last_name CHAR(20), year_of_birth CHAR(4)) ORGANIZATION EXTERNAL (TYPE ORACLE_LOADER DEFAULT DIRECTORY ext_tab_dir ACCESS PARAMETERS (FIELDS LTRIM) LOCATION ('info.dat')); Alvin, Tolliver,1976 Kenneth, Baer, 1963 Mary, Dube, 1973