Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在SQL中更改时间戳的时区?_Sql_Oracle - Fatal编程技术网

如何在SQL中更改时间戳的时区?

如何在SQL中更改时间戳的时区?,sql,oracle,Sql,Oracle,我有一个时间戳格式的时间变量(即“25.04.2021 09:00:00”) 我找到了一种使用此代码将UTC时间戳转换为赫尔辛基时间的唯一方法 select FROM_TZ( datetime, 'UTC' ) AT TIME ZONE 'EUROPE/Helsinki' AS hel_time from MYDB 然而,我犯了一个错误。您可以帮助转换吗?如果datetime是Oracle日期类型,则您可以将其转换为时间戳: FROM_TZ(CAST(datetime AS TIMESTAM

我有一个时间戳格式的时间变量(即“25.04.2021 09:00:00”) 我找到了一种使用此代码将UTC时间戳转换为赫尔辛基时间的唯一方法

select FROM_TZ( datetime, 'UTC' ) AT TIME ZONE 'EUROPE/Helsinki' AS hel_time
from MYDB


然而,我犯了一个错误。您可以帮助转换吗?

如果datetime是Oracle日期类型,则您可以将其转换为时间戳:

FROM_TZ(CAST(datetime AS TIMESTAMP), 'UTC')
给你:

select FROM_TZ(CAST(datetime AS TIMESTAMP), 'UTC' ) AT TIME ZONE 'EUROPE/Helsinki' AS hel_time
from MYDB

25-APR-21 12.00.00.000000 EUROPE/HELSINKI


现在还不清楚Java在哪里,或者在哪里有“时间”变量。

如果datetime是Oracle日期类型,那么您可以将其转换为时间戳:

FROM_TZ(CAST(datetime AS TIMESTAMP), 'UTC')
给你:

select FROM_TZ(CAST(datetime AS TIMESTAMP), 'UTC' ) AT TIME ZONE 'EUROPE/Helsinki' AS hel_time
from MYDB

25-APR-21 12.00.00.000000 EUROPE/HELSINKI


现在还不清楚Java在哪里,或者“时间”变量在哪里。

日期时间的数据类型是什么?@GordonLinoff数据类型是日期,JDBC类型是时间戳,你得到了什么错误?如果
datetime
是Oracle日期类型,则需要从_TZ(CAST(datetime作为时间戳),'UTC')()执行
。但是Java适合于哪里,在哪里/如何将字符串(如果是一个)转换为日期或时间戳?如果您有一个Java变量,那么您可以将其转换为正确的数据类型和时区,然后将其作为正确的日期/时间戳值传递给Oracle。
datetime
的数据类型是什么?@GordonLinoff data_type是
date
,JDBC type是
timestamp
您遇到了什么错误?如果
datetime
是Oracle日期类型,则需要从_TZ(CAST(datetime作为时间戳),'UTC')
()执行
。但是Java适合于哪里,在哪里/如何将字符串(如果是一个)转换为日期或时间戳?如果您有一个Java变量,那么您可以将其转换为正确的数据类型和时区,然后将其作为正确的日期/时间戳值传递给Oracle?