我在SQL Server数据库中有一个列EntryDate
。
如果查询中未提供值,如何设置NULL值以使用今天的日期(服务器时间)填充它?
答案 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
然后你不会改变你的实际数据,但如果你得到该表的空值,它会报告今天的日期。