【问题标题】:Find all the fridays (increment to next friday) in a interval of date查找日期间隔中的所有星期五(递增到下一个星期五)
【发布时间】:2014-11-19 20:49:40
【问题描述】:

对于日期的 x (@startDate) 和 y (@endDate) 间隔。我希望能够在下周五增加直到@endDate。

伪代码 将 currentDate 初始化为 startDate

循环直到结束日期

将 currentDate 设置为下周五

结束循环

我试过了:

set datefirst 5 /* Friday */
CASE
WHEN DATEPART(cdw, @currentDate) = @@datefirst THEN DATEADD(dd, 7, @currentDate)
ELSE DATEADD(dd, ( @@datefirst + ( DATEPART(cdw,@currentDate) ) ) % 7, @currentDate)
END

没用……

【问题讨论】:

  • 您要查找间隔中结束日期之前的星期五吗?
  • 我不需要 endDate 之后的星期五。 @HamletHakobyan

标签: sql date sybase


【解决方案1】:
DATEADD(dd,(CASE DATEPART(cdw, @currentDate) WHEN 5 THEN 7 ELSE 5 - DATEPART(cdw,@currentDate) END),@currentDate)

【讨论】:

    猜你喜欢
    • 2018-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多