ORACLE将DATE转换为带有时区的TIMESTAMP(具有偏移量)
技术问答
386 人阅读
|
0 人回复
|
2023-09-14
|
我需要在查询中将DATE值转换为带时区的TIMESTAMP,但目前我正在获取不能被EF使用的时区(欧洲/巴黎)。) {( G, `* N; Z! h
例如,执行此操作时:: G, k: [1 _) b: O3 C( m; t
select CAST(FECHA AS TIMESTAMP WITH TIME ZONE) from test;
. E# [: @- G% a9 R2 R我目前得到此输出:. K$ e1 d4 _ d8 ^# x2 `; y2 d
07/03/14 09:22:00,000000000 EUROPE/PARIS
+ K3 _5 p! B/ ~/ M7 ~% |: C但我需要像这样:
& ~0 Y" w$ H3 M4 I1 n07/03/14 09:22:00,000000000 +01:00# P0 Y; ^% y+ P8 R0 e
任何想法如何做到这一点?
# U- j9 j% O6 A( W/ Y6 \4 U
0 a O+ |: T9 ~' [& G解决方案:6 t' l, n8 b9 M# q4 g9 d S
8 z. T9 i' ]$ _$ g* X0 j9 r9 Q! k
0 S' W* o! Z1 `3 f& G: N* x
0 S" Z+ m: q- q3 l7 i3 s# d G 您可以将转换DATE为TIMESTAMP,然后使用FROM_TZ将此时间戳转换为具有时区的时间戳:
9 B/ ?7 x' h) c2 ^& h& kSQL> SELECT from_tz(CAST (SYSDATE AS TIMESTAMP), '+01:00') tz FROM dual;9 R2 ^( w: I1 z' i2 p/ _' u* R
TZ" U, S8 a. h( ?9 J4 E: W" p
-------------------------------------------------) W& Z" H! A/ \
07/03/14 09:47:06,000000 +01:00 |
|
|
|
|
|