SQL Server 2008 R2 の型についてDECIMAL
(そしておそらく)単純に質問があります。NUMERIC
MSDN は次のように述べています。
(位取り) 小数点の右側に格納できる 10 進数の最大桁数。Scale は 0 から p までの値でなければなりません。
私はこれを次のように理解しています:
- 私が持っている場合
DECIMAL(10, 5)
-12345.12345または12345678.91を保存できます。 - 私
DECIMAL(5, 5)
が持っている場合-12345、1234.5、または1.2345などを使用できます...
それは明らかですか?
しかし、私はこのエラーメッセージを受け取りました:
SELECT CAST(2.8514 AS DECIMAL(5,5))
数値をデータ型数値に変換中に算術オーバーフロー エラーが発生しました。
5,5 は、最大 5 桁、小数点以下最大 5 桁まで使用できることを意味すると考えました。
私が試したように:
SELECT CAST(12.851 AS DECIMAL(6,5)) - overflows too
でも
SELECT CAST(1.23456 AS DECIMAL(6,5)) - is OK.
それで、真実は何ですか?
DECIMAL(a,b)
私は数字をaまで持つことができ、そのうちのbだけが小数点まで右にあると言っています(そして小数点まで左にabがあります)?
どこにでもコピーされているドキュメントのステートメントについて、私は本当に混乱しています。この簡単なことを説明してください。
どうもありがとう!