You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL创建判断RecordTimestamp是否为上月的isMonth函数正确语法

自定义函数正确实现

以下为BigQuery标准SQL环境下的完整实现,其他兼容TEMP FUNCTION语法的SQL引擎(如Spark SQL)可根据对应函数规则微调:

CREATE TEMP FUNCTION isMonth(recordTimestamp TIMESTAMP) AS (
  DATE(recordTimestamp) >= DATE_TRUNC(DATE_SUB(CURRENT_DATE(), INTERVAL 1 MONTH), MONTH)
  AND DATE(recordTimestamp) < DATE_TRUNC(CURRENT_DATE(), MONTH)
);

实现逻辑说明

  • 采用月份截断+区间判断的方案,自动适配不同月份的天数差异,不会出现2月、小月月末判断异常的问题
  • 区间使用左闭右开规则,完整覆盖上月第一天0点到当月第一天0点前的所有时间,不会漏算上月最后一天的任意时刻
  • 若业务需要指定时区,可将CURRENT_DATE()替换为CURRENT_DATE('对应时区标识'),例如国内业务可使用CURRENT_DATE('Asia/Shanghai')适配东八区时间

内容的提问来源于stack exchange,提问作者busheriff

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 12:09:02