回答

收藏

ORACLE将DATE转换为带有时区的TIMESTAMP(具有偏移量)

技术问答 技术问答 269 人阅读 | 0 人回复 | 2023-09-14

我需要在查询中将DATE值转换为带时区的TIMESTAMP,但目前我正在获取不能被EF使用的时区(欧洲/巴黎)。
2 \8 w. _# P7 U, X4 r6 n例如,执行此操作时:
% K. q, c" P2 v. Aselect CAST(FECHA AS TIMESTAMP WITH TIME ZONE) from test;  U/ N, U( A5 q; z9 ~) u
我目前得到此输出:: `2 n/ |$ Z" c: K( _& u$ ~2 y0 _
07/03/14 09:22:00,000000000 EUROPE/PARIS/ S1 G- J: t3 @
但我需要像这样:
& P7 ^! e4 x& ]) f07/03/14 09:22:00,000000000 +01:00
+ T6 C+ ~2 v- R4 b任何想法如何做到这一点?/ Z- X4 A+ }' ~% c  ^% p
               
/ e% l# D4 w& }解决方案:
! g; P5 N' R- o) M               
$ p9 D+ C7 ^8 u. G2 y& z4 h/ t: O/ S
( R, W: \+ T" L
                您可以将转换DATE为TIMESTAMP,然后使用FROM_TZ将此时间戳转换为具有时区的时间戳:, V7 x7 h6 ?9 Q
SQL> SELECT from_tz(CAST (SYSDATE AS TIMESTAMP), '+01:00') tz FROM dual;
+ @# r+ n6 G0 ]  w6 U- cTZ9 }6 S. K$ T8 P( b, B9 ?
-------------------------------------------------
. G5 N: F( b1 U1 m07/03/14 09:47:06,000000 +01:00
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则