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

在Snowflake中将日期转换为当月首日日期

Snowflake 转换日期为当月首日的方法

在Snowflake中,有两种常用方法可以将任意日期转换为对应月份的第一天:

方法一:使用DATE_TRUNC函数(推荐)

这是最简洁高效的方式,DATE_TRUNC函数可直接将日期截断到指定时间粒度(此处为MONTH),返回当月首日。

单个日期示例:

SELECT DATE_TRUNC('MONTH', DATE('2022-10-11')) AS month_first_day; -- 返回 '2022-10-01'
SELECT DATE_TRUNC('MONTH', DATE('2022-01-20')) AS month_first_day; -- 返回 '2022-01-01'
SELECT DATE_TRUNC('MONTH', DATE('2022-12-31')) AS month_first_day; -- 返回 '2022-12-01'

批量处理表中数据:

若需处理表内日期列,直接调用函数即可:

SELECT
    original_date,
    DATE_TRUNC('MONTH', original_date) AS month_first_day
FROM your_table_name;

方法二:使用DATE_FROM_PARTS构造日期

提取原日期的年、月信息,手动构造当月第一天的日期:

SELECT DATE_FROM_PARTS(YEAR('2022-10-11'), MONTH('2022-10-11'), 1) AS month_first_day;

这种方法逻辑直观,但代码相对繁琐,适合需要自定义日期构造的场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 13:55:21