我的时间戳存储在我的表中,该时间戳以String格式存储。然而,我正在尝试创建一个将它们保存为时区的视图。我使用了以下查询:
SELECT ((timestamp '2015-10-24 16:38:46') AT TIME ZONE 'UTC') AT TIME ZONE 'CST';
但是我注意到我的数据在表格中也有CST和IST格式。所以我的问题是
答案 0 :(得分:0)
我无法找到任何可以给我一个代码来处理多个时区的解决方案。我用一个简单的案例来解决问题。但这不可扩展,因为我的数据库可以添加新的时区。
CASE
WHEN right(t2.stream_item_date,3) = 'UTC' THEN to_timestamp(t2.stream_item_date, 'YYYY-MM-DD hh24:mi:ss') at time zone 'CST'
WHEN right(t2.stream_item_date,3) = 'CST' then to_timestamp(t2.stream_item_date, 'YYYY-MM-DD hh24:mi:ss') at time zone 'CST'
WHEN right(t2.stream_item_date,3) = 'CDT' then to_timestamp(t2.stream_item_date, 'YYYY-MM-DD hh24:mi:ss') at time zone 'CDT'
END as stream_item_date
随意添加。