SQL中嵌入日期宏定义

更新时间:2020-02-10

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 语句:

图片

图片

本页内容