Vertica 字符串时区转换
Vertica String Timezone conversion
我有一个存储为字符串的 'HH24:MI:SS' 列表,我需要考虑时区。
有没有办法 select a.hour at timezone from database
当前的存储方式?
11:30:00
11:00:00
12:00:00
不知道有没有办法。我试过转换为日期或时间戳,但没有成功,因为它是作为字符串存储的。我觉得有一个简单的方法,但我没有看到它
你是这个意思吗?
WITH
indata(s) AS (
SELECT '11:30:00'
UNION ALL SELECT '11:00:00'
UNION ALL SELECT '12:00:00'
)
SELECT
s::TIME AS the_time
, s::TIME AT TIMEZONE 'America/New_York' AS the_other_time
, HOUR(s::TIME) AS the_hour
, HOUR(s::TIME AT TIMEZONE 'America/New_York') AS the_other_time
FROM indata;
-- out the_time | the_other_time | the_hour | the_other_time
-- out ----------+----------------+----------+----------------
-- out 11:30:00 | 05:30:00-05 | 11 | 5
-- out 11:00:00 | 05:00:00-05 | 11 | 5
-- out 12:00:00 | 06:00:00-05 | 12 | 6
我有一个存储为字符串的 'HH24:MI:SS' 列表,我需要考虑时区。
有没有办法 select a.hour at timezone from database
当前的存储方式?
11:30:00
11:00:00
12:00:00
不知道有没有办法。我试过转换为日期或时间戳,但没有成功,因为它是作为字符串存储的。我觉得有一个简单的方法,但我没有看到它
你是这个意思吗?
WITH
indata(s) AS (
SELECT '11:30:00'
UNION ALL SELECT '11:00:00'
UNION ALL SELECT '12:00:00'
)
SELECT
s::TIME AS the_time
, s::TIME AT TIMEZONE 'America/New_York' AS the_other_time
, HOUR(s::TIME) AS the_hour
, HOUR(s::TIME AT TIMEZONE 'America/New_York') AS the_other_time
FROM indata;
-- out the_time | the_other_time | the_hour | the_other_time
-- out ----------+----------------+----------+----------------
-- out 11:30:00 | 05:30:00-05 | 11 | 5
-- out 11:00:00 | 05:00:00-05 | 11 | 5
-- out 12:00:00 | 06:00:00-05 | 12 | 6