在ADF中将长日期时间字符串转换为MM/DD/YYYY格式短日期求助
ADF 派生列日期格式转换方案
实现思路
先将原始字符串解析为日期类型,再将日期格式化为目标MM/DD/YYYY格式字符串,避免直接处理字符串出现的格式匹配错误。
可用派生列表达式
直接替换输入列名即可使用:
toString(toDate(你的原始日期列名, 'MMM d, yyyy h:mm a', 'en-US'), 'MM/dd/yyyy')
格式符说明
MMM:匹配英文缩写月份(如Oct、Jan)d:适配1位/2位日期(如7、24)h:适配12小时制1位/2位小时a:匹配AM/PM标识- 额外指定
en-US区域参数,可避免ADF默认区域非英文时月份缩写解析失败的问题
容错优化(可选)
如果原始列存在空值,可增加空值判断避免转换报错:
iif(isNull(你的原始日期列名), null, toString(toDate(你的原始日期列名, 'MMM d, yyyy h:mm a', 'en-US'), 'MM/dd/yyyy'))
效果验证
输入Oct 7, 2021 4:57 AM时,转换输出结果为10/07/2021,符合要求。
内容的提问来源于stack exchange,提问作者Teepo Sampson
相关产品推荐
相关产品推荐

