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

时间:2019-09-05 12:22:54

标签: extended-sql

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

我尝试了以下代码,但失败了:

  

“无法匹配文字错误”

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

2 个答案:

答案 0 :(得分:0)

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

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

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

答案 1 :(得分:0)

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

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

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