如何在Microsoft SQL Server中将昨天的日期插入表中?

时间:2018-09-27 10:04:02

标签: sql sql-server

我正在尝试在表格中插入昨天的日期。对于当前日期,我有以下查询:

    INSERT INTO FACILITY(Facility, LastPurge, CreatedBy, Active, RowVersionStamp)
VALUES ('AAA', CURRENT_TIMESTAMP, 'engineer', '1', '7');

对于上一个日期,我已经尝试过:

INSERT INTO FACILITY(Facility, LastPurge, CreatedBy, Active, RowVersionStamp)
VALUES ('AAA', DATE_SUB(NOW(), INTERVAL 1 DAY, 'engineer', '1', '7');

以上,对我不起作用。 谢谢,谢谢您的帮助。

3 个答案:

答案 0 :(得分:0)

使用GetDate()-1-它也会给您时间,但是如果您只需要日期部分,则可以使用cast(GetDate()-1作为日期)

INSERT INTO FACILITY(Facility, LastPurge, CreatedBy, Active, RowVersionStamp)
VALUES ('AAA', GetDate() - 1, 'engineer', '1', '7');

答案 1 :(得分:0)

INSERT INTO FACILITY(Facility, LastPurge, CreatedBy, Active, RowVersionStamp)
VALUES ('AAA', DATEADD(day, -1,getdate()), 'engineer', '1', '7');

答案 2 :(得分:0)

DATEADD()函数与GETDATE()结合使用:

INSERT INTO FACILITY(Facility, LastPurge, CreatedBy, Active, RowVersionStamp)
    SELECT 'AAA', DATEADD(DAY, -1, GETDATE()), 'engineer', '1', '7'

如果ActiveRowVersionStamp具有数字类型,则无需使用单引号。如果LastPurge的类型为DATE而不是DATETIME,则使用CAST()CONVERT()转换为日期格式。