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

如何在Azure Data Flow中获取当月第一天

获取日期列当月第一天的正确方法

你之前的表达式存在两个关键问题:

  1. 错误加入了与当前月第一天的比较逻辑,导致非当前月的日期会返回null,完全不符合“任意日期都返回对应当月第一天”的需求;
  2. 依赖字符串截取拼接处理日期,容易因不同工具的substring参数规则(比如起始索引是0还是1、参数是长度还是结束位置)出现意外错误。

下面是不同场景下的可靠替代方案:

数据库场景

MySQL/MariaDB

直接格式化日期为当月第一天:

DATE_FORMAT(Date, '%Y-%m-01')

或者通过日期计算得到:

LAST_DAY(DATE_SUB(Date, INTERVAL 1 MONTH)) + INTERVAL 1 DAY

PostgreSQL

使用DATE_TRUNC截断到月份维度,再转为日期类型:

DATE_TRUNC('month', "Date")::DATE

SQL Server

通过日期偏移计算得到当月第一天:

DATEADD(month, DATEDIFF(month, 0, "Date"), 0)

Power BI/DAX场景

直接提取日期的年、月分量,构造当月第一天:

DATE(YEAR(Date), MONTH(Date), 1)

Python Pandas场景

利用周期函数快速获取当月起始日期:

df['FirstDayOfMonth'] = df['Date'].dt.to_period('M').dt.start_time.dt.date

ETL工具(如Talend)场景

调用内置的日期工具函数:

TalendDate.getFirstDayOfMonth(row.Date)

核心原则是避免用字符串处理日期,直接使用对应工具的原生日期函数,既保证准确性,也能自动适配闰年、月份位数等边界情况。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 11:22:53