【发布时间】:2021-10-26 16:43:39
【问题描述】:
鉴于此日期格式:
"15.03.2016"
如何将其转换为 ISO8601 yyyy-MM-dd。
【问题讨论】:
-
需要更多信息。请说明您尝试过的内容/您在哪里查找信息。否则,我们将浪费时间告诉您您已经知道的内容。
标签: ibm-integration-bus extended-sql
鉴于此日期格式:
"15.03.2016"
如何将其转换为 ISO8601 yyyy-MM-dd。
【问题讨论】:
标签: ibm-integration-bus extended-sql
你可以试试这样的
DECLARE MyDate DATE;
SET MyDate = DATE '15.03.2016';
DECLARE newDate CHARACTER;
SET newDate = CAST(CURRENT_DATE AS CHARACTER FORMAT 'dd-MM-yyyy');
【讨论】:
Omar 的回答是缺少对输入字符串的解析。使用 DATE 关键字时,字符串必须采用“yyyy-MM-dd”形式。 (参见:https://www.ibm.com/docs/en/app-connect/12.0?topic=types-esql-date-data-type)这就是为什么在这种情况下不能使用它的原因。 您应该使用 CAST 函数将输入字符串转换为日期,然后在第二步中将其转换为所需格式的字符。 此处列出了可能的格式:https://www.ibm.com/docs/en/app-connect/12.0?topic=function-formatting-parsing-datetimes-as-strings
所以 sn-p 应该是这样的:
DECLARE inputDate DATE;
SET inputDate = CAST ('15.03.2016' AS DATE FORMAT 'dd.MM.yyyy');
DECLARE outputDate CHARACTER;
SET outputDate = CAST(inputDate AS CHARACTER FORMAT 'yyyy-MM-dd');
【讨论】: