This gives you the week of the date @dt within its month. There is a 2nd column that uses a CASE statement over the expression, to show either "Odd" or "Even"
declare @dt datetime
set @dt = GETDATE()
select
WhichWeekOfMonth = datepart(wk, @dt)
- datepart(wk,dateadd(m, DATEDIFF(M, 0, @dt), 0)) + 1,
case when (datepart(wk, @dt)
- datepart(wk,dateadd(m, DATEDIFF(M, 0, @dt), 0)) + 1) % 2 = 1
then 'Odd' else 'Even' end
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…