如何在SQL中基于当前日期获取上周日期范围?

asfsdf

我在Crystal报表中有这段代码,该代码可以根据当前日期提供上周的日期范围。

一周的第一天:

If DayOfWeek(currentdate) = 2 Then
currentdate
Else If DayOfWeek(currentdate) = 3 Then
dateadd ("d",-1,currentdate)
Else If DayOfWeek(currentdate) = 4 Then
dateadd ("d",-2,currentdate)
Else If DayOfWeek(currentdate) = 5 Then
dateadd ("d",-3,currentdate)
Else If DayOfWeek(currentdate) = 6 Then
dateadd ("d",-4,currentdate)
Else If DayOfWeek(currentdate) = 7 Then
dateadd ("d",-5,currentdate)
Else If DayOfWeek(currentdate) = 1 Then
dateadd ("d",-6,currentdate)

一周的最后一天:

If DayOfWeek(currentdate) = 2 Then
dateadd ("d",+6,currentdate)
Else If DayOfWeek(currentdate) = 3 Then
dateadd ("d",+5,currentdate)
Else If DayOfWeek(currentdate) = 4 Then
dateadd ("d",+4,currentdate)
Else If DayOfWeek(currentdate) = 5 Then
dateadd ("d",+3,currentdate)
Else If DayOfWeek(currentdate) = 6 Then
dateadd ("d",+2,currentdate)
Else If DayOfWeek(currentdate) = 7 Then
dateadd ("d",+1,currentdate)
Else If DayOfWeek(currentdate) = 1 then currentdate

如何在SQL中使用2个变量存储Monday(startdate)和Sunday(enddate来做同样的事情

select datepart(dw,getdate()) --6在此站点上找到了它,但我不知道如何使用它。

比尔·斯蒂达姆(Bill Stidham)

我在parmsCTE中生成了一些间隔的日期,然后SELECTCurrentDateparms之前的一周的周日和之前CurrentDate的周六的日期CurrentDate我假设您希望日期范围是星期日-星期六。

周日-周六范围

;WITH parms (CurrentDate) AS (
    SELECT DATEADD(dd, -14, CURRENT_TIMESTAMP) UNION 
    SELECT DATEADD(dd, -6, CURRENT_TIMESTAMP) UNION
    SELECT DATEADD(dd, 2, CURRENT_TIMESTAMP) UNION
    SELECT DATEADD(dd, 8, CURRENT_TIMESTAMP) UNION
    SELECT DATEADD(dd, 15, CURRENT_TIMESTAMP) UNION
    SELECT DATEADD(dd, 20, CURRENT_TIMESTAMP)
)

SELECT CurrentDate
     , LastWeekSunday   = DATEADD(dd, -1, DATEADD(ww, DATEDIFF(ww, 0, CurrentDate) - 1, 0))
     , LastWeekSaturday = DATEADD(dd,  5, DATEADD(ww, DATEDIFF(ww, 0, CurrentDate) - 1, 0))
FROM parms

周一至周日范围

;WITH parms (CurrentDate) AS (
    SELECT DATEADD(dd, -14, CURRENT_TIMESTAMP) UNION 
    SELECT DATEADD(dd, -6, CURRENT_TIMESTAMP) UNION
    SELECT DATEADD(dd, 2, CURRENT_TIMESTAMP) UNION
    SELECT DATEADD(dd, 8, CURRENT_TIMESTAMP) UNION
    SELECT DATEADD(dd, 15, CURRENT_TIMESTAMP) UNION
    SELECT DATEADD(dd, 20, CURRENT_TIMESTAMP)
)

SELECT CurrentDate
     , LastWeekMonday   = DATEADD(dd,  0, DATEADD(ww, DATEDIFF(ww, 0, DATEADD(dd, -1, CurrentDate)) - 1, 0))
     , LastWeekSunday   = DATEADD(dd,  6, DATEADD(ww, DATEDIFF(ww, 0, DATEADD(dd, -1, CurrentDate)) - 1, 0))
FROM parms

如果您只想从今天开始的前一周的星期一到前一周的星期天,而不是从日期列开始,则可以使用此

SELECT CURRENT_TIMESTAMP
     , LastWeekSunday   = DATEADD(dd,  0, DATEADD(ww, DATEDIFF(ww, 0, DATEADD(dd, -1, CURRENT_TIMESTAMP)) - 1, 0))
     , LastWeekSaturday = DATEADD(dd,  6, DATEADD(ww, DATEDIFF(ww, 0, DATEADD(dd, -1, CURRENT_TIMESTAMP)) - 1, 0))

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何根据上周的当前日期获取上周作为开始日期和结束日期

来自分类Dev

如何基于当前周红宝石中的日期获取上周开始日期和结束日期

来自分类Dev

如何在php中获取上周的日期范围?

来自分类Dev

如何在C#中基于当前日期获取前一周的编号?

来自分类Dev

如何在Android中获取当前日期和时间?

来自分类Dev

如何在C ++程序中获取当前日期?

来自分类Dev

如何在SQlite中获取当前日期时间格式?

来自分类Dev

如何在ReactNative中获取当前日期?

来自分类Dev

如何在python烧瓶中获取当前日期时间

来自分类Dev

如何在Android中获取当前日期和时间?

来自分类Dev

如何在 JavaScript 和 HTML 中获取当前日期?

来自分类常见问题

在SQL Server中获取当前日期?

来自分类Dev

在SQL Server中获取当前日期

来自分类Dev

获取上周日期范围(以php为单位),每周周一至周日

来自分类Dev

获取上周日期范围(以php为单位),每周周一至周日

来自分类Dev

如何在当前日期字段中添加天数以比较日期范围

来自分类Dev

使用Python获取上周日期?

来自分类Dev

SQL查询以基于当前日期获取数据

来自分类Dev

在同一表中获取当前日期和上周的金额

来自分类Dev

如何获得上周日的日期?

来自分类Dev

如何在Android中获取应用程序安装日期的当前日期和时间

来自分类Dev

如何在unix ksh中获取当前日期和过去特定日期之间的天数?

来自分类Dev

如何在php中获取周日开始日期和周日结束日期

来自分类Dev

仅获取周一和周日的上周日期

来自分类Dev

如何使用计算字段获取Datastudio中上周一和上周日的日期?

来自分类Dev

跳过周六和周日,并从ASP.NET中的当前日期获取日期?

来自分类Dev

如何在SQL中从当前日期检索最近的过去日期和从当前日期检索最近的将来日期

来自分类Dev

如何在Dart逻辑中获取每周日期列表

来自分类Dev

如何在FOR循环中获取当前日期

Related 相关文章

  1. 1

    如何根据上周的当前日期获取上周作为开始日期和结束日期

  2. 2

    如何基于当前周红宝石中的日期获取上周开始日期和结束日期

  3. 3

    如何在php中获取上周的日期范围?

  4. 4

    如何在C#中基于当前日期获取前一周的编号?

  5. 5

    如何在Android中获取当前日期和时间?

  6. 6

    如何在C ++程序中获取当前日期?

  7. 7

    如何在SQlite中获取当前日期时间格式?

  8. 8

    如何在ReactNative中获取当前日期?

  9. 9

    如何在python烧瓶中获取当前日期时间

  10. 10

    如何在Android中获取当前日期和时间?

  11. 11

    如何在 JavaScript 和 HTML 中获取当前日期?

  12. 12

    在SQL Server中获取当前日期?

  13. 13

    在SQL Server中获取当前日期

  14. 14

    获取上周日期范围(以php为单位),每周周一至周日

  15. 15

    获取上周日期范围(以php为单位),每周周一至周日

  16. 16

    如何在当前日期字段中添加天数以比较日期范围

  17. 17

    使用Python获取上周日期?

  18. 18

    SQL查询以基于当前日期获取数据

  19. 19

    在同一表中获取当前日期和上周的金额

  20. 20

    如何获得上周日的日期?

  21. 21

    如何在Android中获取应用程序安装日期的当前日期和时间

  22. 22

    如何在unix ksh中获取当前日期和过去特定日期之间的天数?

  23. 23

    如何在php中获取周日开始日期和周日结束日期

  24. 24

    仅获取周一和周日的上周日期

  25. 25

    如何使用计算字段获取Datastudio中上周一和上周日的日期?

  26. 26

    跳过周六和周日,并从ASP.NET中的当前日期获取日期?

  27. 27

    如何在SQL中从当前日期检索最近的过去日期和从当前日期检索最近的将来日期

  28. 28

    如何在Dart逻辑中获取每周日期列表

  29. 29

    如何在FOR循环中获取当前日期

热门标签

归档