我必须从表的日期列中选择值2019-03-25,但格式如下:
2019-03-25T00:00:00.000+02:00
亲爱的,我能拿吗?甲骨文10g谢谢!
5lhxktic1#
这个 date 数据类型不存储毫秒和时区信息,所以我理解您的问题是如何格式化 date 到目标forma,具有毫秒和时区的固定值。如果是的话,你可以用 to_char() 像这样:
date
to_char()
to_char(mycol, 'yyyy-mm-dd"T"hh24:mi:ss".000+2:00"')
rggaifut2#
你可以 CAST 你的 DATE 到 TIMESTAMP 然后使用 FROM_TZ 设置时区,然后使用 TO_CHAR :
CAST
DATE
TIMESTAMP
FROM_TZ
TO_CHAR
SELECT TO_CHAR( FROM_TZ( CAST( your_date AS TIMESTAMP ), '+02:00' ), 'YYYY-MM-DD"T"HH24:MI:SS.FF3TZH:TZM' ) AS formatted_date FROM your_table;
对于您的示例数据:
CREATE TABLE your_table ( your_date ) AS SELECT DATE '2019-03-25' FROM DUAL
输出:
| FORMATTED_DATE | | :---------------------------- | | 2019-03-25T00:00:00.000+02:00 |
db<>在这里摆弄
fnatzsnv3#
我们不能在数据库中存储时区信息,所以我们可以使用以下格式,
select to_char(sysdate,'YYYY-MM-DD')||'T'||to_char(sysdate,'HH24:MI:SS') from dual
3条答案
按热度按时间5lhxktic1#
这个
date
数据类型不存储毫秒和时区信息,所以我理解您的问题是如何格式化date
到目标forma,具有毫秒和时区的固定值。如果是的话,你可以用
to_char()
像这样:rggaifut2#
你可以
CAST
你的DATE
到TIMESTAMP
然后使用FROM_TZ
设置时区,然后使用TO_CHAR
:对于您的示例数据:
输出:
db<>在这里摆弄
fnatzsnv3#
我们不能在数据库中存储时区信息,所以我们可以使用以下格式,