SQL:我怎么能得到前一天



我怎样才能在PreviousDay列中得到结果,即从efdt列中所有行的日期应该是-1 ?如果efdt日期为2001-04-02PreviousDay的结果应该是2001-04-01DATEDIFF为334图片随附,请参考。

您可以使用SQL ServerLEAD窗口函数efdt"字段,它将在给定两个子句的情况下接受以下值:

  • PARTITION BY,表示要处理的组
  • ORDER BY,它根据一个(或多个)字段施加的顺序决定取哪个值。
SELECT T.*,
DATEDIFF(DAY, efdt, PreviousDay)
FROM (SELECT T1.*,
LEAD(efdt) OVER(PARTITION BY emcd ORDER BY efdt) AS PreviousDay
FROM psf206 T1) AS T
ORDER BY emcd, efdt

点击这里查看演示。

注意:如果你想每行少一天,只需在DATEDIFF操作后添加-1(演示)。

最新更新