如何将纪元时间转换为新列中的日期和时间格式?

拉克什·贾斯蒂(Rakesh Jasti)

我有一张表,其中所有时间列都以Unix纪元时间格式存储为varchar2(254)。我想创建一个新表,除了现有列外,还为时间戳的日期和时间部分添加两个新列。

例如,对于时间戳1429152023,两个新列的值将分别为16 Apr 2015和02:40:23

我尝试使用,to_date('1970-01-01','YYYY-MM-DD') + numtodsinterval(1244108886,'SECOND')但找不到一种将列追加到新表中的方法。

亚历克斯·普尔

Oracle DATE类型包含日期和时间元素,精度低至秒。没有理由将相关的日期和时间分成两列;仅包含一列,并提取适当的值以仅用于显示:

create table new_table (id, unixtime, realtime) as
select id, unixtime, date '1970-01-01' + unixtime/86400
from orig_table;

select id, unixtime,
  to_char(realtime, 'DD Mon YYYY HH24:MI:SS') as realtime
from new_table;

SQL Fiddle演示(或稍有变化的格式日期和时间,显示为两列。)

可以将其分为两个VARCHAR2列:

create table new_table (id, unixtime, stringdate, stringtime) as
select id, unixtime,
  to_char(date '1970-01-01' + unixtime/86400, 'DD Mon YYYY'),
  to_char(date '1970-01-01' + unixtime/86400, 'HH24:MI:SS')  
from orig_table;

SQL Fiddle),但是您将无法轻松比较不同行中的值;将值保留为DATE,并仅在最后可能的时间转换为格式化的字符串以供显示。请不要将日期/时间存储为字符串,也不要将其拆分为两个字符串。使用正确的数据类型。

您还可以使用虚拟列将时代时间转换为按需日期:

create table new_table (id number, unixtime varchar2(254),
  realtime generated always as (date '1970-01-01' + unixtime/86400));

如果您不只是想将虚拟列添加到原始表中,请使用旧表中的值(SQL Fiddle)进行填充

或者,您可以使用视图代替新表:

create view new_view (id, unixtime, realtime) as
select id, unixtime, date '1970-01-01' + unixtime/86400
from orig_table;

SQL小提琴

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将日期和时间从jPlaton格式转换为国际标准日期和时间表示法?

来自分类Dev

如何将日期和时间列转换为仅以小数点表示的时间

来自分类Dev

在MongoDB中,如何将纪元后的秒数转换为日期时间?

来自分类Dev

如何将日期和时间转换为12小时格式

来自分类Dev

如何将日期时间转换为时间格式

来自分类Dev

如何将日期时间格式转换为日期和时间对象?

来自分类Dev

Javascript将时间转换为纪元格式

来自分类Dev

如何将日期时间字符串中的Java 8转换为长(UNIX大纪元)(斯卡拉)

来自分类Dev

如何将python中的数据框列对象转换为日期时间格式

来自分类Dev

如何将日期时间列转换为R中的dd / mm / yyyy格式

来自分类Dev

如何将数据框转换为日期时间格式

来自分类Dev

将“日期时间”列中的值转换为通用格式

来自分类Dev

如何将字符串数据框列转换为日期时间和年和周的格式?

来自分类Dev

Ruby:如何将日期时间字符串转换为纪元时间的浮点数?

来自分类Dev

在MongoDB中,如何将纪元后的秒数转换为日期时间?

来自分类Dev

如何将日期和时间转换为12小时格式

来自分类Dev

如何将列中的时间戳转换为日期?

来自分类Dev

如何将Excel日期/时间转换为纪元

来自分类Dev

Javascript将时间转换为纪元格式

来自分类Dev

如何将ISO日期和时间格式转换为“ DD Mon YYYY hh:mm:ss”?

来自分类Dev

如何将日期时间转换为时间戳记纪元

来自分类Dev

如何将日期时间转换为纪元?

来自分类Dev

如何将数据框的日期和时间列转换为熊猫的日期时间格式?

来自分类Dev

如何将字符串转换为纪元时间?

来自分类Dev

将纪元转换为日期时间

来自分类Dev

PHP - 将日期和时间转换为纪元

来自分类Dev

Linux如何将时间格式转换为纪元时间?

来自分类Dev

如何将毫秒精度的日期时间转换为 MySQL 中 Unix 纪元的毫秒?

来自分类Dev

将 UTC 时间转换为纪元格式

Related 相关文章

  1. 1

    如何将日期和时间从jPlaton格式转换为国际标准日期和时间表示法?

  2. 2

    如何将日期和时间列转换为仅以小数点表示的时间

  3. 3

    在MongoDB中,如何将纪元后的秒数转换为日期时间?

  4. 4

    如何将日期和时间转换为12小时格式

  5. 5

    如何将日期时间转换为时间格式

  6. 6

    如何将日期时间格式转换为日期和时间对象?

  7. 7

    Javascript将时间转换为纪元格式

  8. 8

    如何将日期时间字符串中的Java 8转换为长(UNIX大纪元)(斯卡拉)

  9. 9

    如何将python中的数据框列对象转换为日期时间格式

  10. 10

    如何将日期时间列转换为R中的dd / mm / yyyy格式

  11. 11

    如何将数据框转换为日期时间格式

  12. 12

    将“日期时间”列中的值转换为通用格式

  13. 13

    如何将字符串数据框列转换为日期时间和年和周的格式?

  14. 14

    Ruby:如何将日期时间字符串转换为纪元时间的浮点数?

  15. 15

    在MongoDB中,如何将纪元后的秒数转换为日期时间?

  16. 16

    如何将日期和时间转换为12小时格式

  17. 17

    如何将列中的时间戳转换为日期?

  18. 18

    如何将Excel日期/时间转换为纪元

  19. 19

    Javascript将时间转换为纪元格式

  20. 20

    如何将ISO日期和时间格式转换为“ DD Mon YYYY hh:mm:ss”?

  21. 21

    如何将日期时间转换为时间戳记纪元

  22. 22

    如何将日期时间转换为纪元?

  23. 23

    如何将数据框的日期和时间列转换为熊猫的日期时间格式?

  24. 24

    如何将字符串转换为纪元时间?

  25. 25

    将纪元转换为日期时间

  26. 26

    PHP - 将日期和时间转换为纪元

  27. 27

    Linux如何将时间格式转换为纪元时间?

  28. 28

    如何将毫秒精度的日期时间转换为 MySQL 中 Unix 纪元的毫秒?

  29. 29

    将 UTC 时间转换为纪元格式

热门标签

归档