【发布时间】:2021-01-23 23:37:29
【问题描述】:
不要问我为什么,但由于某种原因,我们有一个格式错误的日期时间列,我需要帮助转换。
来自 DB 的示例时间戳:01-OCT-20 12.18.44.000000000 AM
在上面的示例中,小时实际上是 18,分钟是 44。
不确定这是如何在 12 之前发生的,这是所有内容的默认设置。我想要做的就是从 2 个时间戳中获取 HH:MM 的差异,但我不知道如何正确转换它,小时在分钟部分,分钟在秒部分。
我正在寻找的示例:
01-OCT-20 12.18.44.000000000 AM - 01-OCT-20 12.12.42.000000000 AM
输出:06:02。所以在这种情况下,时间跨度是 6 小时 2 分钟。
谢谢,
【问题讨论】:
-
这与your previous question 非常相似。你检查过那里收到的答案吗?
-
是的,我实际上正在删除它,我认为我提出问题的方式做得不好,所以我重写了它。我尝试了答案,但没有一个有效,所以我认为简化我想要的会有所帮助。
-
刚刚意识到我不能删除帖子大声笑
-
2020-10-01 00:18:44和2020-10-01 18:44:00之间的差异(分钟映射到小时,秒映射到分钟)是 18 小时 25 分钟和 16 秒。如何计算 6 小时 2 分钟? (我还建议您使用 24 小时制而不是 12 小时制,因为这可能会造成混乱。) -
“格式”表示它的显示方式,就像您可以显示与
1.23或01.230等相同的数字。这些是格式。 实际存储值 是您无法读取的内部二进制值,任何答案都将在很大程度上取决于列定义(varchar2(30)、timestamp with local timezone、date等) .那么,问题是关于格式还是值,以及列是如何定义的?
标签: sql oracle datetime converters