【问题标题】:How to convert timestamp with time zone to timestamp如何将带时区的时间戳转换为时间戳
【发布时间】:2019-10-07 01:42:46
【问题描述】:

我在 sqldeveloper 数据库的记录中有以下 created_dtm。

18.11.13 16:47:20,677000000 EUROPE/LONDON

我需要从另一个相同格式的日期中减去这个日期。

我曾尝试使用 from_tz 函数,但无法让它生成可以减去另一个日期的时间戳。

如何将时区时间戳转换为毫秒时间戳?

【问题讨论】:

  • 感谢 JoaoFilipeClementeMarti。目标是获取两个带有时区的时间戳之间的毫秒数,还是将您提供的文本转换为带有时区的时间戳?谢谢

标签: plsql oracle-sqldeveloper timestamp-with-timezone


【解决方案1】:

不完全确定您尝试做什么。如果您有带时区的时间戳,则可以将它们相互扣除。演示:

SET LINESIZE 32000;    
with x as (
 select to_timestamp_tz('22/05/2019 09:47:00','DD/MM/YYYY HH24:MI:SS') t1,
        to_timestamp_tz('22/05/2019 09:57:10','DD/MM/YYYY HH24:MI:SS') t2 
   from dual)
select t2-t1, t1, t2
from x;

输出:

T2-T1                                              T1                                T2                               
-------------------------------------------------- --------------------------------- ---------------------------------
+00 00:10:10.000000                                22/05/2019 09:47:00.000000000 +02 22/05/2019 09:57:10.000000000 +02

【讨论】:

  • 如果在这种情况下我有几行怎么办。并想计算这些线之间的 T2-T1 的平均值?
  • "不一致的数据类型:预期的 %s 得到了 %s"
猜你喜欢
  • 1970-01-01
  • 2018-12-18
  • 1970-01-01
  • 2021-09-22
  • 2015-10-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-09
相关资源
最近更新 更多