【问题标题】:ESQL convert to ISO8601 yyyy-MM-ddESQL 转换为 ISO8601 yyyy-MM-dd
【发布时间】:2021-10-26 16:43:39
【问题描述】:

鉴于此日期格式:

"15.03.2016"

如何将其转换为 ISO8601 yyyy-MM-dd。

【问题讨论】:

  • 需要更多信息。请说明您尝试过的内容/您在哪里查找信息。否则,我们将浪费时间告诉您您已经知道的内容。

标签: ibm-integration-bus extended-sql


【解决方案1】:

你可以试试这样的

DECLARE MyDate DATE;
SET MyDate = DATE '15.03.2016';
DECLARE newDate CHARACTER;
SET newDate = CAST(CURRENT_DATE AS CHARACTER FORMAT 'dd-MM-yyyy');

【讨论】:

    【解决方案2】:

    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');
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-06-21
      • 1970-01-01
      • 1970-01-01
      • 2023-03-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多