title: Does the SQL type TIME WITH TIMEZONE make sense?
body: <p>While doing the mapping of some database columns into Java classes I stumbled onto this <em>obscure</em> SQL-92 Standard type (implemented by PostgreSQL, H2, and HyperSQL afaik). I haven't ever used it, but I wanted to understand how clearly map it to a Java type if I ever find it.</p>
  
  <p>Here are the variants I can see:</p>
  
  <ul>
  <li><p><strong>Case A</strong>: The <code>TIME</code> type, such as <code>15:20:01</code>. It's a "local time". The time zone is evident to the application so the database doesn't record it.</p></li>
  <li><p><strong>Case B</strong>: The <code>TIME</code> with offset, as in <code>15:20:01+04:00</code>. It represents a "world time". This time can be converted trivially to UTC, or to any other world clock.</p></li>
  <li><p><strong>Case C</strong>: A <code>TIME</code> with a time zone, such as <code>15:20:01 EDT</code>. Since the rules to interpret a time strongly depend on the specific date I can't really make any sense of it without the date; but then, if I add the date, it becomes a <code>TIMESTAMP</code>, and that's something totally different.</p></li>
  </ul>
  
  <p>So, did the SQL Standard get it wrong? Or maybe "TIME with time zone" should be always interpreted as "time with offset" (case B)?</p>