且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

日期表达式 - 在运算符中

更新时间: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