如何创建日期(日、周、月)范围表

糖果

我有一个关于 SQL Server 中的日期时间表的问题。

这是我的代码。我可以每天做

SELECT DAYDATE AS BASE_DT

FROM(
        SELECT CONVERT(CHAR(10), DATEADD(D, NUMBER, '2019-01-01'), 120) AS DAYDATE    
        FROM MASTER..SPT_VALUES WITH(NOLOCK)
        WHERE TYPE = 'P'
        AND NUMBER <= DATEDIFF(D, '2019-01-01', getdate())
) DATE_TABLE

我可以制作每日专栏,但我不知道如何添加周、月专栏

像这样。

在此处输入图片说明

请检查这个问题。谢谢你。

乔治·贝索斯

您可以使用以下查询:

SET DATEFIRST 1;  -- Set first day of week to Monday

SELECT 
 DAYDATE AS BASE_DT 

 -- last day (always a Sunday) of the current week
 , CONVERT(DATE, DATEADD(D, 7 - DATEPART(WEEKDAY, DAYDATE), DAYDATE)) AS WEEK_DT 

 -- last day of the current month
 , CONVERT(DATE, DATEADD(month, ((YEAR(DAYDATE) - 1900) * 12) 
                                     + MONTH(DAYDATE), -1)) AS MONTH_DT  
FROM (
   SELECT CONVERT(DATE, DATEADD(D, NUMBER, '2019-01-01')) AS DAYDATE    
   FROM MASTER..SPT_VALUES WITH(NOLOCK)
   WHERE TYPE = 'P'
          AND NUMBER <= DATEDIFF(D, '2019-01-01', getdate())
) DATE_TABLE

输出:

BASE_DT     WEEK_DT     MONTH_DT
----------------------------------
2019-01-01  2019-01-06  2019-01-31
2019-01-02  2019-01-06  2019-01-31
2019-01-03  2019-01-06  2019-01-31
2019-01-04  2019-01-06  2019-01-31
...
2019-02-01  2019-02-03  2019-02-28
2019-02-02  2019-02-03  2019-02-28
2019-02-03  2019-02-03  2019-02-28
...
2021-01-09  2021-01-10  2021-01-31
2021-01-10  2021-01-10  2021-01-31
2021-01-11  2021-01-17  2021-01-31

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何创建从年,月,日pyspark日期

如何从日期对象获取年/月/日?

Java中的Date Util,它将以周,月,季度,年为单位扩展日期范围

如何合并多个重叠的日期范围并创建新的日期范围?

如何在R中创建日期范围

月,日的日期差

MS Power Query:从月,日,年创建日期

如何从3个不同的向量(日,月,年)创建带有“ as.Date”的日期?

如何在Highstock Highcharts中处理csv数据(日期时间)月,周,日,小时

如何创建具有给定日期时间范围的日期表?

如何从表实例的开始/结束日期创建日期范围切片器?

在Python中组合年,月和日以创建日期

使用proc sql创建表时如何调用选择日期范围的提示?

PHP的日期时间考虑每年1月1日总是第一周?

如何从“日期”-2周和“日期” + 2周中筛选日期范围

如何创建数据库的周,月,年摘要

范围日期,直到日期+周

创建日期的数字限制;年,月和日

如何获取月,日和周(android datepicker)

SQL Server:获取一个月的第一周和第二周的日期范围

根据日期范围从月表 MySQL 中获取数据(2016 年 1 月 1 日至 2016 年 4 月 1 日之间的前数据)

如何获取这种格式的当前周日期范围(2017 年 3 月 20 日)?

如何显示自日期以来的年、月、周和日

如何创建两个日期范围之间的周/月/季度列表

如何使用 moment 获取过去 3 周的日期范围?

与去年/月/周/日比较

如何使用mysql根据表1日期范围内的行选择行?

在 R 中的嵌套表中从带有日、月、年的单独列创建日期

获取当前周/月日期