将数字转换为时间格式 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');
在您的模式中使用零以确保保留任何前导零。
我在输入中得到一个整数,例如: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');
在您的模式中使用零以确保保留任何前导零。