在映射数据流中将字符串转换为 date 、 datetime 或 Int
Converting string to date , datetime or Int in Mapping dataflow
我有一个包含 start_date 和 end_date 列的镶木地板文件
格式如下
01-Jan-2021
我已经尝试了每个组合转换 toDate、toString、toInterger 函数,但在查看数据时我仍然返回 Null(见图)。
我希望以两种方式查看结果 YYYYMMDD 作为整数列和 YYYY-MM-DD 作为日期列。
例如 01012021 和 01-01-2021
我确定是默认格式导致了这个问题。
谢谢
啊,你说 *"I would like to have see the result in two ways YYYYMMDD as integer column and YYYY-MM-DD as Date columns. eg 01012021 and 01-01-2021"*
你想要 YYYYMMDD 还是 dd-mm-yyy 因为你的例子在后来的格式。
无论如何,请看下面你可以使用的表达式:
我的来源:
使用派生列:
编辑表达式:
start_date_toInteger : toString(toDate(substring(start_date,1,11), 'dd-MMM-yyyy'), 'yyyymmdd')
start_date_toDate: toString(toDate(substring(start_date,1,11), 'dd-MMM-yyyy'), 'yyyy-mm-dd')
最终结果:
首先,对于日期格式化程序,您需要先告诉 ADF 您的字符串的每个部分代表什么。使用 dd-MMM-yyy 作为您的格式。然后,使用字符串格式化程序来操作输出:toString(toDate('01-Jan-2021', 'dd-MMM-yyyy'), 'yyyy-MM-dd')
对于整数表示:toInteger(toString(toDate('01-Jan-2021', 'dd-MMM-yyyy'), 'yyyyMMdd'))
我有一个包含 start_date 和 end_date 列的镶木地板文件 格式如下
01-Jan-2021
我已经尝试了每个组合转换 toDate、toString、toInterger 函数,但在查看数据时我仍然返回 Null(见图)。
我希望以两种方式查看结果 YYYYMMDD 作为整数列和 YYYY-MM-DD 作为日期列。 例如 01012021 和 01-01-2021
我确定是默认格式导致了这个问题。
谢谢
啊,你说 *"I would like to have see the result in two ways YYYYMMDD as integer column and YYYY-MM-DD as Date columns. eg 01012021 and 01-01-2021"*
你想要 YYYYMMDD 还是 dd-mm-yyy 因为你的例子在后来的格式。
无论如何,请看下面你可以使用的表达式:
我的来源:
使用派生列:
编辑表达式:
start_date_toInteger : toString(toDate(substring(start_date,1,11), 'dd-MMM-yyyy'), 'yyyymmdd')
start_date_toDate: toString(toDate(substring(start_date,1,11), 'dd-MMM-yyyy'), 'yyyy-mm-dd')
最终结果:
首先,对于日期格式化程序,您需要先告诉 ADF 您的字符串的每个部分代表什么。使用 dd-MMM-yyy 作为您的格式。然后,使用字符串格式化程序来操作输出:toString(toDate('01-Jan-2021', 'dd-MMM-yyyy'), 'yyyy-MM-dd')
对于整数表示:toInteger(toString(toDate('01-Jan-2021', 'dd-MMM-yyyy'), 'yyyyMMdd'))