SQL Server比较日期

时间:2019-06-20 08:50:36

标签: sql sql-server tsql

我有一个带有“结算”详细信息的表,我需要一个SSRS报告,该报表返回结算日期为昨天或更早的结算项目。我知道这很简单,但是我做错了一些事情,希望能对您有所帮助

这是用于Microsoft SQL Server和用于简化的基本表

init

这对我不起作用。我希望输出将是结算日期早于或等于昨天的结算

谢谢

2 个答案:

答案 0 :(得分:1)

如果您想要昨天或更早的年龄,请使用:

where SETL.SettlementDate < convert(date, getdate())

date的转换摆脱了getdate()上的时间戳(尽管名称,它既包含时间又包含日期)。

如果使用current_timestamp(这是SQL标准的一部分),您可能会发现这不太混乱:

where SETL.SettlementDate < convert(date, current_timestamp)

答案 1 :(得分:0)

您可以尝试使用演员表

Select
    SETL.SettlementDay as SD,
    SETL.Amount as Amount,
    SETL.quantity as Q
From
    Setlement as SETL
Where
    cast( SETL.SettlementDate as date) < cast( getdate() as date)