Informix SQL可获取自动更改的日期范围

Informix SQL可获取自动更改的日期范围,sql,informix,Sql,Informix,请帮助我完成每周五运行的Informx SQL查询。 期间:本月1日至周五前的周四。我不能只选择日期范围,因为它将是一个自动报告,所以日期需要自动更新。有办法吗?你有两个问题:月初和上周四的日期。标识当月第一天的最简单表达式为: MDY(MONTH(TODAY), 1, YEAR(TODAY)) 识别最近一个星期四的方法是在工作日的今天通过案例陈述。比如: CASE WHEN WEEKDAY(TODAY) < 5 -- (Sunday (0) - Thursday (4))

请帮助我完成每周五运行的Informx SQL查询。
期间:本月1日至周五前的周四。我不能只选择日期范围,因为它将是一个自动报告,所以日期需要自动更新。有办法吗?

你有两个问题:月初和上周四的日期。标识当月第一天的最简单表达式为:

MDY(MONTH(TODAY), 1, YEAR(TODAY))
识别最近一个星期四的方法是在工作日的今天通过案例陈述。比如:

CASE 
     WHEN WEEKDAY(TODAY) < 5 -- (Sunday (0) - Thursday (4))
     THEN TODAY - WEEKDAY(TODAY) - 3 -- Calc last Sunday, back 3 days
     ELSE TODAY - WEEKDAY(TODAY) + 4 -- Calc last Sunday, forward 4 days
END
注意,您仍然会遇到本月1日晚于最近一个星期四的问题。但希望上面的例子能为你指明正确的方向


当然,如果您知道此报告只在星期五运行,那么计算最近的星期四就是今天-1。

抱歉,这是我的问题,但我仍然难以确定日期范围,因为它目前有效,但下周不会自动更改?我还是比较新的。从trnteq、admpat中选择tpdat、tacno、tecod、topno、tcloc、tegrp、tegzc、tedes、tunit、ttotv、ffval、admpat.pmeda、admpat.padmd、todat,其中trnteq.tacno=tclocI在2016年9月1日至2016年9月15日之间下达的命令,通过执行以下操作获得运行报告的前一天;从2016年9月1日到今天的tpdat-1我现在只需要得到本月的第一个月,然后我就被排序了?这就是我现在得到的,但是我运行它时得到语法错误?从trnteq、admpat中选择tpdat、tacno、tecod、topno、tcloc、tegrp、tegzc、tedes、tunit、ttotv、ffval、admpat.pmeda、admpat.padmd、todat,其中trnteq.tacno=admpat.patno和tpdat之间的月份、DATEDIFFmonth、0、@mydate、0作为StartOfMonth和今天-tclocI认为我会在那里发布一份订单。我让它工作起来了,看下面。选择今天从csthead开始,其中d9=$into temp daterange;update daterange set start=lastmonthtoday+1个单位月,其中1=1;卸载至/u/BrowDir/City_THT_equipmsept2016.xls从trnteq、admpat、daterange中选择tpdat、tacno、tecod、topno、tcloc、tegrp、tegzc、tedes、tunit、ttottv、ffval、admpat.pmeda、admpat.padmd、todat,其中trnteq.tacno=admpat.patno和tpdat从开始到今天-tcloc订购1份