【发布时间】:2021-09-30 14:15:14
【问题描述】:
我正在使用包含 date 列的 Oracle 数据库(版本 12c),其日期格式为 YYY-MM-DD H23:Mi:SS。
所有日期都存储在 EST 中。
我将这些日期转换为 UTC,因此 2021-09-23 09:12:22 将显示为 2021-09-23 14:12:22。
我有以下疑问:
SELECT my_date,
FROM_TZ(CAST(my_date AS TIMESTAMP), 'America/New_York') AT TIME ZONE 'UTC' AS my_date_utc
FROM my_table
这是我的结果示例:
my_date my_date_utc
------------------- -------------------
2018-04-28 21:21:26 2018-04-29 01:21:26.000000 +00:00
2018-12-18 07:42:25 2018-12-18 12:42:25.000000 +00:00
如何从结果中删除“.000000 +00:00”?所以结果会显示为:
my_date my_date_utc
------------------- -------------------
2018-04-28 21:21:26 2018-04-29 01:21:26
2018-12-18 07:42:25 2018-12-18 12:42:25
【问题讨论】:
-
您是要显示没有小数秒和时区信息的结果,还是要将数据类型从“带时区的时间戳”实际更改为“日期”?如果结果只是显示,请将
to_char与所需的格式模型一起使用;如果您确实需要更改数据类型,请在cast ( .... as date)中进行包装。 -
@mathguy 我想显示没有小数秒和时区的结果。所以“2018-04-29 01:21:26.000000 +00:00”会显示为“2018-04-29 01:21:26”
标签: database oracle datetime time utc