select * from where table =今天SQL Server Management Studio中的日期

时间:2017-08-18 22:24:06

标签: sql-server

我有一个查询,我需要在where子句中使用今天的日期。

原始查询是:

 select * 
 from hist 
 where checkdt = '8/18/2017' 
   and status = 'R' 
   and PSPAY is not null

但是我需要用日期函数替换日期。

 select * 
 from hist 
 where checkdt = Today's Date 
   and status = 'R' 
   and PSPAY is not null

我使用了GetDate()curdate(),但它不起作用。

1 个答案:

答案 0 :(得分:2)

您应该使用:

select h.*
from hist h
where checkdt = cast(getdate() as date) and
      status = 'R' and
      PSPAY is not null;

在SQL Server中,cast()仍然可以使用索引,因此这是最好的方法。