1

私はこのテーブルを持っています Equipment Activity Table

CREATE TABLE EqpActivityTBL
(
    EqpAct_ID              INT PRIMARY KEY IDENTITY(1, 1),
    EqpAct_BorrowDateTime  DATETIME,
    EqpAct_ReturnDateTime  DATETIME,
    EqpAct_Room            VARCHAR(50),
    SysUser_ID             INT FOREIGN KEY REFERENCES SysUserTBL,
    DeptMember_ID          INT FOREIGN KEY REFERENCES DeptMemberTBL,
    Eqp_ID                 INT FOREIGN KEY REFERENCES EqpTBL,
    EqpAct_Status          VARCHAR(50)
)

ご覧のとおり、EqpAct_ReturnDate 列があります。機器が返却されると、日付の値になります。しかし、それが返されなかったか、破壊されたか、何か悪いことが起こった場合 (おそらくダークホールに送信した場合)、その列に NULL 値を挿入できますか? とにかく、日時データ型を持っています。ここで、何かが返されなかったことを示そうとしています。他のデータ型で NULL 値を避けるために最善を尽くしています。

要点: datetime に NULL 値を指定しても問題ありませんか?

前もって感謝します

4

4 に答える 4

1

はい、うまくいきます。null 値は、魔法の日付値を使用するよりも欠損値を適切に表します。

null を処理できるフィールドを使用するとパフォーマンスがわずかに低下する可能性があるため、null であってはならないフィールドでは許可しないようにする必要があります。

于 2013-01-16T08:38:36.647 に答える
0

答えは「はい」です。日時形式では null を使用できます

nullをチェックする追加のコードを書く必要があるだけです(null参照エラーを回避するため)。代わりに、デフォルト値であることがわかるように、19 : 00 : 00 (またはその他のもの) のようなものを取るように、デフォルトのままにしておくことができます。ここでは、解析は必要ありません。

于 2013-01-16T11:23:09.177 に答える
0

null 値を使用しても問題ありませんが、(null をチェックするために) コードにオーバーヘッドが追加されます...代わりに、01-01-1900 のようなデフォルト値を保持することもできます。

于 2013-01-16T08:45:48.723 に答える