数値をDECIMAL(10,2)にキャストしようとしています。 わかりましたら、「1234567890」のような数字が有効な のDECIMAL(10,2)になります。 しかし、私はそれをキャストしようとすると、それは-413エラーが返されます。DECIMALへのDB2のキャスト
select CAST(1234567890 AS DECIMAL(10,2)) from SYSIBM.SYSDUMMY1;
私は見ての通り:
「オーバーフローやアンダーフローがNUMERICデータ型変換中に発生したが、」
これはSQLです問題は、小数点以下の桁数が2つ追加されていることです。つまり、 です。したがって、合計長さは12であり、a(10,2)の有効数字ではありません。
実際には、(12,2)にキャストしようとすると「1234567890.00」と表示されます。
私はこれがエラーであるか、何か間違っているのだろうかと思います。 (12,2)への入力は、有効なオプションではないようです。 は、(12,2)には有効ではない「1234567890.12」のような数字を受け入れるためです。
ありがとうございます。
ありがとう、私はそれをXMLのtotalDigitsとfractionDigitsのコンセプトと混同しました。私はそれが同じように機能すると思ったが、それはそうではないようだ – Elrohir