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

时间:2010-11-30 15:21:58

标签: sql sql-server null

我在SQL Server数据库中有一个列EntryDate

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

3 个答案:

答案 0 :(得分:11)

禁止列上的空值并在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

答案 1 :(得分:1)

Update table 
set EntryDate = getdate() 
where EntryDate is null

答案 2 :(得分:0)

另一种解决方案:

重命名您的表格,并创建一个与您想要的逻辑名称相同的视图,即:

CREATE VIEW TableName
AS
SELECT Column1, Column2, ... ISNULL(EntryDate, GETDATE())
FROM Old_TableName

然后你不会改变你的实际数据,但如果你得到该表的空值,它会报告今天的日期。