バイト長セマンティクスは、UTF16キャラクタ・セット(デフォルトで文字長セマンティクスを使用します)を使用するデータ・ファイル以外のすべてのデータ・ファイルのデフォルトです。デフォルトに上書きするには、次の構文で示すとおり、CHAR
またはCHARACTER
を指定します。
LENGTH
パラメータは、SQL*Loader制御ファイルのCHARACTERSET
パラメータの後に置かれます。LENGTH
パラメータは、プライマリ・データ・ファイルに関する構文の指定のみではなく、LOBFILEデータ・ファイルおよびセカンダリ・データ・ファイル(SDF)にも適用されます。INFILE
パラメータの前のLENGTH
指定は、プライマリ・データ・ファイルのリスト全体に適用されます。プライマリ・データ・ファイルに対するLENGTH
指定は、LOBFILEおよびSDFに対するデフォルトとして使用されます。LOBFILEおよびSDF仕様でLENGTH
を指定することによって、デフォルトを上書きできます。CHARACTERSET
パラメータとは異なり、LENGTH
パラメータは、制御ファイル内に含まれるデータ(INFILE *
構文)に適用されます。
LENGTH
パラメータに対しては、CHAR
のかわりにCHARACTER
を指定できます。
文字長セマンティクスがSQL*Loaderのデータ・ファイルに対して使用されている場合は、次のSQL*Loaderデータ型で文字長セマンティクスが使用されます。
CHAR
VARCHAR
VARCHARC
DATE
数値型EXTERNAL
(INTEGER
、FLOAT
、DECIMAL
およびZONED
)
VARCHAR
データ型では、長さサブフィールドはバイナリのSMALLINT
長さサブフィールドです。ただし、その値は文字単位の文字列の長さを示します。
次のデータ型では、データ・ファイルで文字長セマンティクスが使用されていてもバイト長セマンティクスを使用します。これは、データがバイナリであるか、またはZONED
およびDECIMAL
の場合は、特別にバイナリにエンコーディングされた形式であるためです。
INTEGER
SMALLINT
FLOAT
DOUBLE
BYTEINT
ZONED
DECIMAL
RAW
VARRAW
VARRAWC
GRAPHIC
GRAPHIC EXTERNAL
VARGRAPHIC
POSITION
パラメータの開始引数および終了引数は、文字長セマンティクスがデータ・ファイルで使用されていても、バイト単位で解釈されます。これは、異なるデータ型のデータが混在するデータ・ファイル(一部では文字長セマンティクスを使用し、一部ではバイト長セマンティクスを使用する)を処理する場合に必要です。SMALLINT
長さフィールドおよび文字データを含むVARCHAR
データ型で位置を処理する場合にも必要です。SMALLINT
長さフィールドは、システムによって一定のバイト数(通常、2バイト)を必要とします。ただし、その値は、文字列の長さを文字単位で示します。
データ・ファイルの文字長セマンティクスは、データベースの列で文字長セマンティクスが使用されているかどうかに関係なく使用できます。したがって、データ・ファイルおよびデータベースの列で、同じまたは異なる長さのセマンティクスを使用できます。