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