SQL 解説書

DECIMAL

数値→ 10 進数:

>>-+-DECIMAL-+--(--numeric-expression--------------------------->
   '-DEC-----'
 
>-----+-----------------------------------------------+--)-----><
      '-,--precision-integer--+--------------------+--'
                              '-,--scale-integer---'
 

文字→ 10 進数:

>>-+-DECIMAL-+--(--character-expression------------------------->
   '-DEC-----'
 
>-----+----------------------------------------------------------------------------+>
      '-,--precision-integer--+-------------------------------------------------+--'
                              '-,--scale-integer----+------------------------+--'
                                                    '-,--decimal-character---'
 
>----)---------------------------------------------------------><
 

スキーマは SYSIBM です。

DECIMAL 関数は、以下の 10 進表記を戻します。

関数の結果は、精度 p、 位取り s の 10 進数になります (ps はそれぞれ 2 番目と 3 番目の引き数)。 最初の引き数がヌル値の可能性がある場合、結果もヌル値の可能性があります。 最初の引き数がヌル値である場合、その結果もヌル値になります。

数値→ 10 進数

numeric-expression
数値データ・タイプの値を戻す式。

precision-integer
1 〜 31 の範囲の値の整数定数。

precision-integer のデフォルト値は、 numeric-expression のデータ・タイプによって異なります。

  • 浮動小数点および 10 進数の場合は 15
  • 大整数の場合は 19
  • 長精度整数の場合は 11
  • 短精度整数の場合は 5

scale-integer
0 から precision-integer の値までの範囲の整数定数。 デフォルト値はゼロです。

結果は、最初の引き数が精度 p、 位取り s の 10 進数の列または変数に割り当てられた場合と同じ数になります (ps は、 それぞれ 2 番目と 3 番目の引き数)。 数値の整数部分を表すために必要な有効 10 進桁数が、 p - s より大きい場合はエラーになります。

文字→ 10 進数

character-expression
長さが文字定数の最大長 (4 000 バイト) 以下の文字ストリングである値を戻す。 CLOB または LONG VARCHAR データ・タイプにすることはできません。 先行ブランクと後書きブランクは、ストリングから除去されます。 この結果のサブストリングは、 SQL 整数または 10 進定数を形成するための規則に準拠していなければなりません (SQLSTATE 22018)。

定数 decimal-character のコード・ページに一致させるために必要なら、 character-expression はデータベース・コード・ページに変換されます。

precision-integer
結果の精度を指定する整数定数 (値の範囲は 1 〜 31)。 この指定がない場合のデフォルト値は 15 です。

scale-integer
結果の位取りを指定する整数定数 (値の範囲は 0 〜 precision-integer)。 この指定がない場合のデフォルト値は 0 です。

decimal-character
character-expression の小数部分と整数部分とを区切るために使用する 1 バイト文字定数を指定します。 この文字には、数字のプラス ('+')、マイナス ('-')、またはブランクは使用できず、 character-expression の中に最高 1 回しか使用することができません (SQLSTATE 42815)。

結果は、精度 p、 位取り s の 10 進数になります (ps は、 それぞれ 2 番目と 3 番目の引き数)。 小数点以下の数字の桁数が、位取り s より多い場合、 終わりから数字が切り捨てられます。 character-expression の小数点文字の左側にある有効数字 (数値の整数部分) の桁数が p - s よりも多い場合は、 エラーになります (SQLSTATE 22003)。 decimal-character 引き数が指定されている場合、 サブストリングに使われているデフォルトの小数点文字は無効になります (SQLSTATE 22018)。

例:


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]