将数字转换为时间格式 HH:mm:ss

Convert a number to time format HH:mm:ss

我在输入中得到一个整数,例如:032614。我想将其转换为 HH:mm:ss 格式的时间。 例如:032614 应转换为 03:26:14。请告知 ESQL 是否可以完成此操作

我试过下面的代码,但失败了:

'Failed to match literal error'

CAST(cReqTimestamp AS TIMESTAMP FORMAT 'HH:mm:ss');

下面是一个 ESQL 代码片段,目标变量将有您需要的输出。

    DECLARE source INT 032614;
    DECLARE target CHARACTER;
    DECLARE pattern CHARACTER '00,00,00';
    SET target = REPLACE(CAST(source AS CHARACTER FORMAT pattern),',',':');

您可以通过下面的 link 了解有关 CAST 的更多信息。 https://www.ibm.com/support/knowledgecenter/en/SSMKHH_10.0.0/com.ibm.etools.mft.doc/ak05610_.htm

您的问题是 INTEGER 和 TIMESTAMP 之间没有直接支持的转换,因此您需要先通过 CAST 间接转换为 CHAR。

CAST(CAST(cReqTimestamp AS CHAR FORMAT '000000') AS TIMESTAMP FORMAT 'HH:mm:ss');

在您的模式中使用零以确保保留任何前导零。