如何度过一个月的日子

用户名

我用这个查询来获得一个月中的整天

    declare @date datetime
    set @date = '20140201';

with DaysInMonth as (
    select @date as Date
    union all
    select dateadd(dd,1,Date) from DaysInMonth where month(date) = month(@Date)
    )
select * from DaysInMonth where month(date) = month(@Date)

并整日待在清单中

我如何获得此结果,并将这几天放在相应的一周中,例如本月:

Sun1 - Mon1 - TUE1 - WED1 -  THU1 - FRI1 - SAT1 - Sun2 - Mon2 - TUE2 - WED2 -  THU2 - FRI2 - SAT2
 -      -      -      -        -     -      1      2       3     4      5       6      7     8

pd:对应于星期的数字1和2

肯定的

可以吗???

declare @date datetime
    set @date = '20140301';

with DaysInMonth as (
    select @date as Date,DATENAME(DD,@date) as [DAY],DATENAME(WEEKDAY,@date) as [DAYNAME]
    union all
    select dateadd(dd,1,Date),DATENAME(DD,Date+1) as [DAY],DATENAME(WEEKDAY,Date+1) as [DAYNAME] from DaysInMonth where month(date) = month(@Date)
    )
select [1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12],[13],[14],[15],[16],[17],[18],[19],[20],[21],[22],[23],[24],[25],[26],[27],[28],[29],[30],[31]
--Saturday,Sunday,Monday,Tuesday,Wednesday,Thursday,Friday 
from 

(
  SELECT [DAY],[DAYNAME] FROM   DaysInMonth where month(date) = month(@Date)
) D
PIVOT (MIN([DAYNAME]) FOR [DAY] IN ([1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12],[13],[14],[15],[16],[17],[18],[19],[20],[21],[22],[23],[24],[25],[26],[27],[28],[29],[30],[31]) ) AS PVT

我对您的确切要求的另一个答案

declare @date datetime
declare @lastWeek int
    set @date = '20140301';
    set @lastWeek = DATENAME(WW,@date)-1
;with DaysInMonth as (
    select @date as Date,
           DATENAME(DD,@date) as [DAY],
             DATENAME(WEEKDAY,@date)+cast(cast(DATENAME(WW,@date) as int)-@lastWeek as varchar(2)) as [DAYNAME]
    union all
    select dateadd(dd,1,Date),DATENAME(DD,Date+1) as [DAY],
              DATENAME(WEEKDAY,Date+1)+cast(cast(DATENAME(WW,Date+1) as int)-@lastWeek as varchar(2)) as [DAYNAME]
    from DaysInMonth 
    where month(date) = month(@Date)
    )
select 
Sunday1,Monday1,Tuesday1,Wednesday1,Thursday1,Friday1,Saturday1,
Sunday2,Monday2,Tuesday2,Wednesday2,Thursday2,Friday2,Saturday2,
Sunday3,Monday3,Tuesday3,Wednesday3,Thursday3,Friday3,Saturday3,
Sunday4,Monday4,Tuesday4,Wednesday4,Thursday4,Friday4,Saturday4,
Sunday5,Monday5,Tuesday5,Wednesday5,Thursday5,Friday5,Saturday5,
Sunday6,Monday6,Tuesday6,Wednesday6,Thursday6,Friday6,Saturday6
from
(
  SELECT [DAY],[DAYNAME] FROM   DaysInMonth where month(date) = month(@Date)
) D
     PIVOT (max([DAY]) FOR [DAYNAME] IN 
    (Sunday1,Monday1,Tuesday1,Wednesday1,Thursday1,Friday1,Saturday1,
    Sunday2,Monday2,Tuesday2,Wednesday2,Thursday2,Friday2,Saturday2,
    Sunday3,Monday3,Tuesday3,Wednesday3,Thursday3,Friday3,Saturday3,
    Sunday4,Monday4,Tuesday4,Wednesday4,Thursday4,Friday4,Saturday4,
    Sunday5,Monday5,Tuesday5,Wednesday5,Thursday5,Friday5,Saturday5,
    Sunday6,Monday6,Tuesday6,Wednesday6,Thursday6,Friday6,Saturday6
     )
 ) AS PVT

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从Datetime.Today减去一个月

来自分类Dev

SimpleDateFormat在00时减少一个月

来自分类Dev

如何列出不在第一个月开始的12个月(循环)列表?

来自分类Dev

如何获取YearMonth对象中一个月的最后一天?

来自分类Dev

计算一个月的剩余天数

来自分类Dev

Rails:如何遍历一个月?

来自分类Dev

从即日起一个月

来自分类Dev

前一个月的查询/表达

来自分类Dev

SAS从变量循环一个月

来自分类Dev

as3-加一个月

来自分类Dev

如何标记上周五或最后一天或一个月

来自分类Dev

使用jQuery增加一个月

来自分类Dev

日期加上一个月的PHP

来自分类Dev

Lubridate:如何减去一个月的最后一次观察

来自分类Dev

每周一个月的分组日期

来自分类Dev

如何获得一个月的最后一天在不同的物品上?-SQL

来自分类Dev

Incremnet日期由一个月

来自分类Dev

如何选择当前和过去一个月的一年?

来自分类Dev

在R中将日期偏移一个月

来自分类Dev

在MongoDB数组中查询一个月

来自分类Dev

最近一个月的子集数据

来自分类Dev

PHP前一个月

来自分类Dev

选择一个月的首个日期

来自分类Dev

Rails:如何遍历一个月?

来自分类Dev

如何在SQL Server 2008中显示一个月的所有日子?

来自分类Dev

如何快速获取对象一个月

来自分类Dev

如何使Javascript输入一个月的名字?

来自分类Dev

如何获得一个月中特定工作日的所有日子?

来自分类Dev

SQL:你如何获取一个月的第一天?