a3.*_*ity 0 sql sql-server date
我几乎是编写SQL查询的新手.在SQL Server的上下文中,如何获取2016年的第2和第4个星期六日期列表?
小智 6
完成作为派生表只是为了显示逻辑,但如果您愿意,可以减少:
select *
from (
select d2016,
datename( weekday, d2016 ) as wkdy,
row_number( ) over ( partition by datepart( month, d2016 ), datename( weekday, d2016 ) order by d2016 ) as rn_dy_mth
from (
select dateadd( day, rn, cast( '2016-01-01' as date ) ) as d2016
from (
select row_number() over( order by object_id ) - 1 as rn
from sys.columns
) as rn
) as dy
) as dy_mth
where rn_dy_mth in ( 2, 4 )
and wkdy = 'Saturday'
order by d2016
Run Code Online (Sandbox Code Playgroud)