我想减去ISO 8601格式的两个时间戳(2021-08-24T12:59:35Z - 2021-08-24T12:59:05Z)我认为最简单的方法是将时间戳转换为epoch,然后减去。只是不能正确使用转换的语法。如何将20121-08-24t12:59:05 z转换为:1629809975 ?
正如注释所说,这在很大程度上取决于您希望如何格式化结果。
如果您可以使用INTERVAL
,那么最简单的事情就是使用TO_UTC_TIMESTAMP_TZ
,它实际上采用ISO 8601格式的字符串作为参数:
SELECT TO_UTC_TIMESTAMP_TZ('2021-08-24T12:59:35Z') - TO_UTC_TIMESTAMP_TZ('2021-08-24T12:59:05Z') AS RESULT
FROM DUAL;
返回如下结果:
RESULT | + 000000000 00:00:30.000000000 |
---|