SQL中嵌入日期宏定义
更新时间:2023-03-08
Sugar BI中支持在伪 SQL 中嵌入一些固定的日期宏定义,主要包含:
{YEAR}表示当前年{MONTH}表示当前月{DAY}表示当前日{HOUR}表示当前小时{MINUTE}表示当前分钟{SECOND}表示当前秒{MONTH}、{DAY}、{HOUR}、{MINUTE}、{SECOND}支持(number)语法,将01转换成1{DATE}表示当前日期 格式如:2018-04-22{DATE}支持+/-N语法(如:{DATE-1}表示昨天),并且支持(number)语法{TIMESTAMP}表示当前时间戳,采用 unix 秒格式{TIMESTAMP}支持+/-N语法{TODAYZEROTIMESTAMP}表示当天零点的时间戳,采用 unix 秒格式{TODAYZEROTIMESTAMP}支持+/-N语法{$MONDAY}表示本周一,并支持年月日的加减语法,如{$MONDAY-1Y}表示一年前的本周一{$MONTHFIRSTDAY}表示本月第一天,并支持年月日的加减语法,如{$MONTHFIRSTDAY-1D}表示上个月最后一天,{$MONTHFIRSTDAY-1M}表示上个月第一天{$LASTMONTHFIRSTDAY}表示上月第一天,并支持年月日的加减语法{$QUARTERFIRSTDAY}表示本季度第一天,并支持年月日的加减语法,如{$QUARTERFIRSTDAY+3M-1D}表示本季度最后一天{$YEARFIRSTDAY}表示本年第一天,并支持年月日的加减语法{$LASTYEARFIRSTDAY}表示去年第一天,并支持年月日的加减语法
如下图是图表数据的『调试』时所展示的,左侧是原始的伪 SQL,右侧是生成的真正的 SQL 语句:


