如何在Azure Data Factory中实现SSIS日期格式转换逻辑(SQL Server源)
在Azure Data Factory中实现类似SSIS的日期格式转换(yyyyMM)
方法1:直接使用格式化函数(最简洁)
ADF数据流的表达式语言支持直接对日期进行格式化,一行代码就能实现需求:
toString(currentTimestamp(), 'yyyyMM')
如果需要最终输出为整数类型,用toInteger()包裹即可:
toInteger(toString(currentTimestamp(), 'yyyyMM'))
方法2:模仿SSIS的拆分拼接逻辑
如果你习惯SSIS里拆分日期部分再拼接的思路,可以对应替换ADF的函数实现:
toString(year(currentTimestamp()), '0000') + padStart(toString(month(currentTimestamp())), 2, '0')
转整数版本:
toInteger(toString(year(currentTimestamp()), '0000') + padStart(toString(month(currentTimestamp())), 2, '0'))
对应关系说明(和你的SSIS表达式对比)
- SSIS的
GETDATE()→ ADF的currentTimestamp():获取当前系统时间 - SSIS的
DATEPART("yyyy", ...)→ ADF的year(...):提取年份 - SSIS的
DATEPART("mm", ...)→ ADF的month(...):提取月份 - SSIS的
DT_STR类型转换 → ADF的toString():将数值转为字符串 - SSIS的
RIGHT("00" + ..., 2)补前导0 → ADF的padStart(..., 2, '0'):自动为不足2位的月份补前导0
内容的提问来源于stack exchange,提问作者SeaQwell
相关产品推荐
相关产品推荐

