【问题标题】:How can I fetch rows from a table that have been created or modified in the last two days?如何从最近两天创建或修改的表中获取行?
【发布时间】:2017-02-01 13:07:54
【问题描述】:

我有这张桌子:

CREATE TABLE [dbo].[Phrase] (
    [PhraseId]     UNIQUEIDENTIFIER DEFAULT (newid()) NOT NULL,
    [English]      NVARCHAR (250)   NOT NULL,
    [CreatedDate]  DATETIME         DEFAULT (getdate()) NOT NULL,
    [ModifiedDate] DATETIME         DEFAULT (getdate()) NOT NULL,
    PRIMARY KEY CLUSTERED ([PhraseId] ASC)
);

我需要做的是一个简单的 select * 但我不确定如何在 select where 子句条件中输入。希望有任何建议。

【问题讨论】:

标签: sql-server


【解决方案1】:

首先你定义什么是“2天前”:

DATEADD(DAY, -2, GETDATE())

请注意,这包括时间部分。

由于您始终将 ModifiedDate 设置为 DEFAULT 值,因此我们只需检查该列:

WHERE ModifiedDate >= DATEADD(DAY, -2, GETDATE())

【讨论】:

    【解决方案2】:

    您可以使用此选择:

    SELECT *
    FROM Phrase
    WHERE createddate >= dateadd(day,-2,getdate())
    

    【讨论】:

      猜你喜欢
      • 2012-04-16
      • 1970-01-01
      • 2020-06-01
      • 2016-07-03
      • 2014-05-29
      • 2020-09-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多