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

如何在Snowflake SQL中查询指定月份的第二个星期一

Snowflake SQL 查询指定月份第二个星期一的实现方法

核心逻辑

  • 第一步:用DATE_TRUNC函数截取目标日期对应的当月第一天
  • 第二步:用NEXT_DAY函数计算当月第一天之后(含当天)的第一个星期一
  • 第三步:给第一个星期一加7天,即可得到当月第二个星期一

通用查询代码

-- 语句中的 :target_month 可替换为你要查询的任意月份的日期,例如'2021-09-01'
SELECT 
    DATEADD(
        'day',
        7,
        NEXT_DAY(
            DATE_TRUNC('MONTH', TO_DATE(:target_month, 'YYYY-MM-DD')),
            'Monday'
        )
    ) AS second_monday_of_month;

示例验证(2021年9月)

SELECT 
    DATEADD(
        'day',
        7,
        NEXT_DAY(
            DATE_TRUNC('MONTH', TO_DATE('2021-09-01', 'YYYY-MM-DD')),
            'Monday'
        )
    ) AS second_monday_of_month;

返回结果为2021-09-13,与预期结果一致。

如果你需要查询其他星期X的对应日期,仅需要调整NEXT_DAY的第二个参数为对应星期名称即可,例如要查第二个周二可替换为'Tuesday'。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 21:27:03