更新时间:2023-02-15 07:53:39
嗨kpkasam
Hi kpkasam
很抱歉不清楚其他日期的映射值,只是根据当前信息,您尝试使用以下数据集查询来获取对应日期。 (如果你想使用表达式,似乎很复杂)
Sorry for not clear about the other date ‘s mapping value , just according to the current information , you oculd try to use the following dataset query to get the correspond date. (seems little complex if you want to use expression )
参见:
declare @weeknumber as int
declare @decresenumber as int
declare @lastmonthdate as date
declare @lastdate as date
if @potdate>='2019.4.1' and @potdate<='2019.4.5'
set @lastmonthdate= DATEADD(MONTH, DATEDIFF(MONTH, -2, @potdate)-2, -2)
select @weeknumber = DATEPART(WEEKDAY, @lastmonthdate)
set @decresenumber = (@weeknumber+1)%7
if (@decresenumber in (0,3,4,5,6) )
select @lastmonthdate as lastdate;
if (@decresenumber in (1,2))
select @lastdate = dateadd(day , 0-@decresenumber,@lastmonthdate)
if @potdate>='2019.4.6' and @potdate <= '2019.5.5'
set @lastmonthdate= DATEADD(MONTH, DATEDIFF(MONTH, -1, @potdate)-1, -1)
select @weeknumber = DATEPART(WEEKDAY, @lastmonthdate)
set @decresenumber = (@weeknumber+1)%7
if @decresenumber in (0,3,4,5,6)
select @lastmonthdate as lastdate;
if (@decresenumber in (1,2))
select @lastdate = dateadd(day , 0-@decresenumber,@lastmonthdate)
select @lastdate as lastdate
希望它可以帮助你。
***的问候,
Eric Liu