リファレンスガイド> SQL演算子のTDVサポート> 算術演算子> 除算
 
除算
除算演算子(/)は、最初のオペランドを2番目のオペランドで除算し、商を返します。
注:構成パラメーターを使用して、この演算子で精度/スケールが38を超えることができるかどうかを制御できます。詳細については、関数の10進数の制限を参照してください。 。
10進数および数値のデータタイプ
除算演算子がDECIMALまたはNUMERICデータタイプを含むオペランドに適用される場合、出力データタイプ、精度、およびスケールは、以下に示すように、オペランドのデータタイプ、精度、およびスケールに依存する場合があります。
構文
operand1 / operand2
備考
入力(オペランド)の順序は、出力データタイプには影響しません。
DECIMALデータタイプとNUMERICデータタイプを分割するための出力を表に示します。
オペランド1
オペランド2
出力
DECIMAL(p1,s1)
DECIMAL(p2,s2)
10進数(p1+p2+s2,s1+p2)
DECIMAL(p,s)
NUMERIC
DECIMAL(p,s)
NUMERIC
NUMERIC
NUMERIC
入力がDECIMALまたはNUMERICで、DECIMALまたはNUMERIC以外の任意の数値データタイプの場合、出力データタイプは、DECIMALまたはNUMERIC入力と同じ精度とスケールで、それぞれDECIMALまたはNUMERICである必要があります。
DECIMAL(12,3) / DECIMAL(45,2)
 
この除算演算はDECIMAL(59,48)を返します。
:計算された式の結果が未定義(たとえば、0/0)の場合、従来のクエリエンジンは例外を送出します。同様のシナリオの場合、MPPエンジンは値「NaN」を返します。クエリがデータソースにプッシュダウンされると、結果が異なる場合があります。
インターバルタイプ
INTERVALは数値で割ることができます。出力はINTERVALです。
構文
INTERVAL / NUMERIC
INTERVAL '90' HOUR / 10 = INTERVAL '0 09:00:00' DAY TO SECOND
INTERVAL '1' YEAR / .1 = INTERVAL '10-00' YEAR TO MONTH