2017-02-21 1 views
1

のデフォルト値です。したがって、レコードが廃止とマークされた日付を格納するDB2テーブルの廃止された変更日付と呼ばれるフィールドがあります。私はcreate tableステートメントでこれを定義する方法を理解することができません。DB2を処理する方法

デフォルトをnullにすると、デフォルト値が入力されます。デフォルト値は、入力されたくない現在の日付です。データが入力されると、現在の日付でレコードが廃止されたことを示すためです。

また、NULLを設定したくありません。では、どうやってこのような状況に対処できますか?

+0

を保持することができます。あなたはすでにNULLとCURRENT DATEを削除しました。それらは2つの論理的選択肢のようです。設定する必要のある特定の日付がわかっていない場合は、それ以外の値は無効な値または不正確な日付になります。 – user2338816

答えて

1

日付フィールドを使用しているように見えるので、フォーマット期間の最初の有効な日付をデフォルトとして使用できます。いくつかの場所では、IBMは0001-01-01をヌルデートとして扱いますが、これは4桁の年のフォーマットでのみ機能します。さまざまな日付形式の場合、それは次のようになります。

 
FORMAT       START  END 
4 digit years (e.g. *ISO)  0001-01-01 9999-12-31 
3 digit years (e.g. *CYMD)  1900-01-01 2899-12-31 
2 digit years (e.g. *YMD)  1940-01-01 2039-12-31 

日付フィールドは、それが私たちは、あなたがデフォルトとして使用する日付何を推測することができる方法は明らかではありません有効な日付またはnull

+0

DATE NOT NULL DEFAULT '0001-01-01'は、日付宣言に追加する予定のものです。承認のために私のリードを要請しました。どれどれ。 –

+1

@ user3311539、 'DEFAULT '9999-12-31''がより良い選択かもしれません.... – Charles

+0

範囲内の最初または最後の日付の使用は、状況によっては同様に良い選択です。日付が範囲内のエンドポイントである場合、範囲内の最後の日付をデフォルトの '9999-12-31'として使用します。それ以外の場合は、通常は「0001-01-01」を使用します。 – jmarkmurphy

関連する問題