5.9 データロード時のナル値,及び既定値

データロード時のナル値,及び既定値は,表定義時のナル値,既定値の指定,及びpdload実行時の制御文の指定によって格納値が変わります。データロード時に格納されるナル値,及び既定値を次の表に示します。

表5-48 データロード時に格納されるナル値,及び既定値

入力データファイルの形式表定義時の指定値pdload実行時のoption文のnull_stringの指定値データロード時の格納値
非ナル値制約指定WITH DEFAULTDEFAULT句入力データがナル値の場合※1列名文を省略した場合※2非ナル値の場合
DAT形式NULLありdefaultDEFAULT句の既定値DEFAULT句の既定値入力データの値
nullナル値
なしdefaultナル値
null
NOT NULLありdefaultWITH DEFAULTの既定値WITH DEFAULTの既定値
null
なしありdefaultDEFAULT句の既定値DEFAULT句の既定値
nullナル値(エラーとなります)
なしdefault×
null
拡張DAT形式NULLありdefaultDEFAULT句の既定値DEFAULT句の既定値入力データの値
nullナル値
なしdefaultナル値
null
NOT NULLありdefaultWITH DEFAULTの既定値WITH DEFAULTの既定値
null
なし※3ありdefaultDEFAULT句の既定値DEFAULT句の既定値
nullナル値(エラーとなります)
なしdefault×
null
※4ありdefaultDEFAULT句の既定値DEFAULT句の既定値
nullWITH DEFAULTの既定値
なしdefault×
null
バイナリ形式NULLありナル値×入力データの値
なし
NOT NULLあり×
なしあり
なし
固定長データ形式NULLありナル値DEFAULT句の既定値入力データの値
なしナル値
NOT NULLあり×WITH DEFAULTの既定値
なしありDEFAULT句の既定値
なし×
pdrorg出力バイナリ形式NULLありナル値DEFAULT句の既定値入力データの値
なしナル値
NOT NULLありナル値(エラーとなります)WITH DEFAULTの既定値
なしありDEFAULT句の既定値
なし×
(凡例)
DEFAULT句の既定値:詳細については表5-49を参照してください。
WITH DEFAULT句の既定値:詳細については表5-50を参照してください。
-:該当しません。
×:該当する表定義時の指定値,及びpdload実行時の指定値の組み合わせでは,列名文を指定又は省略できないことを示します。
WITH DEFAULT,又はDEFAULT句を指定した列にUNIQUE指定のクラスタキー又は主キーが定義されている場合,既定値を格納するとキー重複エラーとなります。この場合,必ず入力データを指定してください。
注※1
入力データが次のデータの場合,入力データがナル値となります。
DAT形式の場合:
  • "*"となっているデータ
  • 記述がないデータ
拡張DAT形式の場合:
  • "*"となっているデータ
  • 記述がないデータ
  • 数データ型,日付データ型,日間隔データ型,時刻データ型,時間隔データ型,又は時刻印データ型の列の,入力データがすべて半角空白又はタブのデータ
バイナリ形式の場合:
ナル値・関数情報ファイルの列番号文のnullオペランドに指定した比較値と一致するデータ
固定長データ形式の場合:
列構成情報ファイルの列名文のnullオペランドに指定した比較値と一致するデータ
pdrorg出力バイナリ形式の場合:
列データ位置オフセットが0のデータ
注※2
列構成情報ファイルで,該当する列に対する列名文を省略している場合を指します。
注※3
次の列を指します。
  • UNIQUEを指定したインデクスの構成列
  • UNIQUEを指定したクラスタキーの列
  • PRIMARYを指定したクラスタキーの列
  • 主キーの列
  • 分割キーの構成列
注※4
注※3以外の列を指します。

表5-49 データロード時に格納されるDEFAULT句の既定値

データ型格納する列のDEFAULT句の指定
定数USERCURRENT
_TIME,
又はCURRENT TIME
CURRENT
_DATE,
又はCURRENT DATE
CURRENT
_TIMESTAMP,
又はCURRENT TIMESTAMP
NULL省略
数データINTEGER
SMALLINT
DECIMAL
FLOAT
SMALLFLT
設定値ナル値WITH DEFAULTの既定値と同じ
文字データCHARACTER行を挿入した実行ユーザの認可識別子pdload実行時の時刻※1pdload実行時の日付※2pdload実行時の日時※3
VARCHAR
混在文字データMCHAR
MVARCHAR
各国文字データNCHAR
NVARCHAR
日付データDATEpdload実行時の日付
日間隔データINTERVAL YEAR TO DAY
時刻データTIMEpdload実行時の時刻
時間隔データINTERVAL HOUR TO SECOND
時刻印データTIMESTAMPpdload実行時の日時※4
バイナリデータBINARY
長大データBLOB
(凡例)-:設定できません。
注※1
hh:mm:ssの形式で格納されます。
注※2
yyyy-mm-ddの形式で格納されます。
注※3
yyyy-mm-dd hh:mm:ss〔.000000〕の形式で格納されます。
注※4
小数秒部分は0を格納します。

表5-50 データロード時に格納されるWITH DEFAULTの既定値

データ型格納する値
数データINTEGER
SMALLINT
DECIMAL
FLOAT
SMALLFLT
0
文字データCHARACTER空白
VARCHAR1バイトの空白
各国文字データNCHAR空白
NVARCHAR1文字の空白
混在文字データMCHAR空白
MVARCHAR1バイトの空白
日付データDATE現在の日付
日間隔データINTERVAL YEAR TO DAY0か年0か月0か日
時刻データTIME現在の時刻
時間隔データINTERVAL HOUR TO SECOND0時間0分0秒
時刻印データTIMESTAMP現在の日時
バイナリデータBINARY長さ0のデータ
長大データBLOB長さ0のデータ
現在の日付,現在の時刻,及び現在の日時とは,データベース作成ユティリティを実行した日付及び時刻を示します。