title: Oracle SQL: Handle with Daylight Saving Time
body: <p>I have the following system information:</p>
  
  <p>I use Oracle Database 10g<br>
  The <code>SysTimeStamp</code> is <code>UTC</code><br>
  The <code>SessionTimeZone</code> is <code>Europe/Athens</code><br>
  The <code>dbTimeZone</code> is <code>+03:00</code></p>
  
  <p>So, I have the column <code>date_1</code> from <code>tbl_1</code> table, with the following datetime:  </p>
  
  <pre><code>date_1
  -----------------
  08.02.2017 10:00
  08.02.2017 11:00
  08.02.2017 12:00
  -----------------
  </code></pre>
  
  <p>The results I want is like this:</p>
  
  <pre><code>date_2
  -----------------
  08.02.2017 13:00
  08.02.2017 14:00
  08.02.2017 15:00
  </code></pre>
  
  <p>For that I use:  </p>
  
  <pre><code>SELECT TO_CHAR(date_1 + INTERVAL '3' HOUR, 'DD.MM.YYYY HH24:MI') as date_2 
  FROM tbl_1
  WHERE date_1 &gt;= TO_DATE('08.02.2017 10:00','DD.MM.YYYY HH24:MI')
    AND date_1 &lt;= TO_DATE('08.02.2017 12:00','DD.MM.YYYY HH24:MI')
  </code></pre>
  
  <p>My problem appear when the hour from <code>March</code> and <code>October</code> is changing because in the last Sunday from <code>March</code> we have 23 hours in a day and in the last Sunday from <code>October</code> we have 25 hours in a day.  </p>
  
  <p>Because of this I have to change my query 4 times/year (On summer time, on winter time, when we have 23 hour in  March and when we have 25 hour in October)</p>
  
  <p>Can you recommend a query in this <code>select</code> that solve this problem?</p>