リファレンスガイド> データソースの機能サポート> データソースを組み合わせる際の関数サポートの問題> INTERVALの計算
 
INTERVALの計算
ほとんどのデータソースのJDBCドライバーは、データソースのINTERVALデータタイプからTDVのINTERVALデータタイプへのマッピングをサポートしていません。代わりに、TDVのVARCHAR(13)にマップされます。このマッピングのため、数値の比較を伴う関数(AVG、MAX、MINなど)は誤った結果を返す可能性があります。
たとえば、文字列の比較ではスペースがマイナス記号の前に来るASCII照合順序が考慮されるため、プッシュなしの間隔の計算では、「-99」は「99」(先頭のスペース文字に注意)より大きいと評価されます。
回避策は、CAST関数を埋め込むことです。たとえば、間隔である列c1で最大値を見つける場合は、次を使用します。
MAX(CAST(c1 AS INTERVAL MONTH TO DAY))
 
注:注目すべき例外は、INTERVALデータタイプからINTERVALデータタイプへのマッピングをサポートするPostgreSQLJDBCドライバーです。