SQL Server:将NULL值设置为今天的值

Vad*_*dim 1 sql sql-server null

EntryDate在SQL Server数据库中有一列.

如果查询中未提供值,如何设置NULL值以填充今天的日期(服务器时间)?

Mar*_*ith 11

禁止列上的Null并在列上设置默认值 getdate()

/*Deal with any existing NULLs*/
UPDATE YourTable SET EntryDate=GETDATE() WHERE EntryDate IS NULL

/*Disallow NULLs*/
ALTER TABLE YourTable ALTER COLUMN EntryDate DATE NOT NULL

/*Add default constraint*/
ALTER TABLE YourTable ADD CONSTRAINT
    DF_YourTable_EntryDate DEFAULT GETDATE() FOR EntryDate
Run Code Online (Sandbox Code Playgroud)

  • 这是最好的解决方案.它的作用是,如果查询显式为EntryDate字段提供NULL,则查询将出错.查询必须不为EntryDate指定任何内容,或指定DEFAULT VALUES. (2认同)