Sql server 获取给定年份中所有星期六的日期-sql server
我需要一份给定年份中所有周六日期的列表 我看过一篇oracle文章,它反对一个有“财政日历表”的表,但我无法成功地转换它,也没有一个表包含我想要调查的一组日期Sql server 获取给定年份中所有星期六的日期-sql server,sql-server,tsql,sql-server-2008,Sql Server,Tsql,Sql Server 2008,我需要一份给定年份中所有周六日期的列表 我看过一篇oracle文章,它反对一个有“财政日历表”的表,但我无法成功地转换它,也没有一个表包含我想要调查的一组日期 SELECT DATE DATES,TO_CHAR(DATE,'DAY') DAYS FROM FISCAL_CALENDAR WHERE DATE_YEAR = 2009 AND DATE BETWEEN TRUNC(SYSDATE,'YEAR') AND ADD_MONTHS(TRUNC(SYSDATE,'YEAR'),12) -1
SELECT DATE DATES,TO_CHAR(DATE,'DAY') DAYS FROM FISCAL_CALENDAR
WHERE DATE_YEAR = 2009 AND
DATE BETWEEN TRUNC(SYSDATE,'YEAR') AND
ADD_MONTHS(TRUNC(SYSDATE,'YEAR'),12) -1 AND
TRIM(TO_CHAR(DATE,'DAY')) = 'SUNDAY'
是甲骨文(是星期日和2009年的,如)
非常感谢。
-汤姆在2010年,你可以做到这一点
declare @d datetime
select @d = '20100101' --'20090101' if you want 2009 etc etc
select dateadd(dd,number,@d) from master..spt_values
where type = 'p'
and year(dateadd(dd,number,@d))=year(@d)
and DATEPART(dw,dateadd(dd,number,@d)) = 7
声明@d datetime
选择@d='20100101'--'20090101'如果您想要2009等
从master..spt\u值中选择dateadd(dd,number,@d)
其中type='p'
和datename(weekday,(dateadd(dd,number,@d)))在('Saturday','Tuesday'/*指定日期名*/)@sqlmeanse这是每隔一个星期六显示一次,希望它能帮助别人,因为我正在尝试使用SQL创建轮班日历。从一年中的第一个星期六开始,3天上班,2天休息,2天上班
declare @d datetime
select @d = '20210101' --'20090101' if you want 2009 etc etc
select dateadd(dd,number,@d) as "Day" from master..spt_values
where type = 'p'
and year(dateadd(dd,number,@d))=year(@d)
and DATEPART(dw,dateadd(dd,number,@d)) = 7 and DATEPART(WK,DATEADD(dd,number,@d)) % 2 = 0;
哇!这甚至适用于2018年的周一!谢谢;)