我在输入中得到一个整数,例如:032614
。我想将其转换为HH:mm:ss
格式的时间。
例如:032614
应该转换为03:26:14
。请告知是否可以通过ESQL完成
我尝试了以下代码,但失败了:
“无法匹配文字错误”
CAST(cReqTimestamp AS TIMESTAMP FORMAT 'HH:mm:ss');
答案 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');
在模式中使用零,以确保保留任何前导零。