问题描述
我正在处理双报告。 所以我有一张桌子
occupancy ID | rent amount | Date of payment
租金在每周的每周二支付。我需要一个 sql 查询来查找当前日期的最后 4 个星期二。随着当前日期的继续,它需要是动态的,它需要自动获取前 4 个星期二
解决方法
我猜,您正在寻找日期时间函数的正确语法。 这里是周数、月份等的示例以及如何使用它。 希望它可以帮助您查询。
DECLARE @today DATETIME = GETDATE()
DECLARE @todayDayName VARCHAR(10) = DATENAME(WEEKDAY,@today),@todayShortDay VARCHAR(10) = CONVERT(VARCHAR(10),@today,103),@todayDATE DATE = CAST(@today AS DATE),@todayDayNumber INT = DATEPART(DAY,@todayWeekNumberYear INT = DATEPART(wk,@todayWeekNumber INT = DATEDIFF(WEEK,DATEADD(MONTH,DATEDIFF(MONTH,0),@today) +1,@month INT = MONTH(@today)
select
@today as DayNow,@todayDayName [TodayDayName],@todayShortDay [TodayShortDay],@todayDATE todayDATE,@todayDayNumber [TodayDayNumber],@todayWeekNumberYear TodayWeekNumberYear,@todayWeekNumber TodayWeekNumber,@month [month]
select top 100
UpdateDate,[date] = CAST(UpdateDate AS DATE),[DateName] = DATENAME(WEEKDAY,UpdateDate),WeekNumber = DATEDIFF(WEEK,UpdateDate) +1,monthnumber = MONTH(UpdateDate)
from [dbo].TABLE
where DATENAME(WEEKDAY,UpdateDate) = 'Tuesday'