title: Redshift - Adding timezone offset (Varchar) to timestamp column
body: <p>as part of ETL to Redshift, in one of the source tables, there are 2 columns:
  <code>original_timestamp - TIMESTAMP</code>: which is the local time when the record was inserted in whichever region
  <code>original_timezone_offset - Varchar</code>: which is the offset to UTC</p>
  
  <p>The data looks something like this:</p>
  
  <pre>original_timestamp      original_timezone_offset
  2011-06-22 11:00:00.000000    -0700
  2014-11-29 17:00:00.000000    -0800
  2014-12-02 22:00:00.000000    +0900
  2011-06-03 09:23:00.000000    -0700
  2011-07-28 03:00:00.000000    -0700
  2011-05-01 01:30:00.000000    -0700
  </pre>
  
  <p>In my target table, I need to convert this to UTC (using the offset). How do I do it?
  So far I have tried multiple things but <code>dateadd()</code> seems to be the closest solution. But the problem with <code>dateadd()</code> is, when I say:</p>
  
  <pre><code>SELECT original_timestamp, original_timezone_offset
   ,dateadd(H, original_timezone_offset, original_timestamp) as original_utc_time
  </code></pre>
  
  <p>it is adding/subtracting '700'/'800' hours instead of 7/8 hrs to the original timestamp because the offset is a VARCHAR and the values are like: <code>-0700</code> etc.</p>
  
  <p>Did anyone see this issue before? Appreciate any help/inputs. Thanks.</p>