title: ORACLE SQL: add time to a timestamp with timezone
body: <p>I need to add seconds and substract variables with type TIMESTAMP WITH TIMEZONE, however, to my understanding, adding numbers to such data causes the information about the timezone to be lost, perhaps because it's converted to a DATE type</p>
  
  <p>That is:</p>
  
  <pre><code>  SELECT FROM_TZ(
             TO_TIMESTAMP( 
               TO_DATE('03/09/2012 2:30:30','DD/MM/YYYY HH:MI:SS')
             )
           , 'America/Chicago') 
        FROM DUAL;
  </code></pre>
  
  <p>Gives:</p>
  
  <pre><code> 03/09/2012 00:00:00, -05:00
  </code></pre>
  
  <p>Then</p>
  
  <pre><code>  SELECT FROM_TZ(
             TO_TIMESTAMP( 
               TO_DATE('03/09/2012 2:30:30','DD/MM/YYYY HH:MI:SS')
             )
           , 'America/Chicago')  + 1/24 -- add 1 hour
        FROM DUAL;
  </code></pre>
  
  <p>Gives</p>
  
  <pre><code> 03/09/2012 01:00:00
  </code></pre>
  
  <p>and loses the timezone information.
  But</p>
  
  <pre><code> SELECT FROM_TZ(
       TO_TIMESTAMP( 
         TO_DATE('03/09/2012 2:30:30','DD/MM/YYYY HH:MI:SS'))
        , 'America/Chicago') +  INTERVAL '1' hour
  
    FROM DUAL;
  </code></pre>
  
  <p>Correctly gives</p>
  
  <pre><code> 03/09/2012 01:00:00,000000000 -05:00
  </code></pre>
  
  <p>However the INTERVAL.. syntax expect a char constant, so I can't use that with variables.</p>
  
  <p>How can I perform that kind of arithmetic with TIMESTAMP WITH TIME ZONE datatype while retaining timezone information?</p>
  
  <p>TIA</p>