[解決済み] SQL Serverにおけるnumeric、float、decimalの違いについて
2022-03-24 16:37:35
質問
とはどのような違いがあるのでしょうか?
numeric
,
float
と
decimal
のデータ型と、どのような場面でどちらを使うべきかを教えてください。
あらゆる種類の金融取引(例:給与欄)において、どれが好ましいか、またその理由は?
解決方法は?
<ブロッククオートを使用します。 フロート または リアル データ型 場合のみ が提供する精度は 10進数 (最大38桁)では不十分
-
近似数値データ型(表3.3参照)は、指定された正確な値を格納するものではありません。 多くの場合 数値が格納される。 極めて近い の近似値である。( テクネット )
-
WHERE句の検索条件では、特に=と<>演算子でfloatやrealカラムを使わないようにしましょう。float および real 列は、> または < の比較に限定するのが最善です。( テクネット )
ということで、一般的に以下のような場合は、データ型としてDecimalを選択するのがベストです。
- に収まる数であること。 小数点以下の精度 は10E38[~38桁]です。
- Floatの方が記憶容量が小さい(計算速度も)ので、あまり気にならないかもしれません。
- 金融アプリケーション、丸め誤差を含む演算、等値性チェックなど、正確な数値動作が必要な場合。( テクネット )
- 正確 数値データ型 10進数と数値 - MSDN
-
numeric = 10進数 (5〜17バイト)
- は.NETではDecimalにマッピングされます。
- SQLサーバーのデフォルトの(精度,スケール)パラメーターは両方とも(18,0)である。
- scale = 小数点の右に格納できる最大桁数。
- money(8バイト)とsmallmoney(4バイト)もExact Data Typeで、.NETではDecimalにマッピングされ、小数点以下は4桁になります( MSDN )
- 概算 数値データ型 floatとreal - MSDN
-
実数(4バイト)
- は.NETではSingleにマッピングされます。
- realのISO同義語はfloat(24)
-
フロート(8バイト)
- は.NETではDoubleにマッピングされます。
- すべて 正確 数値型は、どのようなプロセッサアーキテクチャであっても、常に同じ結果を生成します。 または数値の大きさ
- floatデータ型に与えるパラメータは、そのデータ型に格納するビットの数を定義します。 仮数 浮動小数点数の .
- 近似値の数値データ型は、通常、より少ないストレージを使用し、より良い速度(最大20倍)を持っており、あなたはまた、彼らが.NETで変換されたときに考慮する必要があります。
- C#のDecimal, Float, Doubleの違いについて
- 10進数と2倍速の比較
- SQL Server - .NET データ型マッピング (MSDNより)
メインソース : MCTSの自己ペース訓練キット(検査70-433)。マイクロソフト® sqlサーバー® 2008のデータベースの開発 - 第3章 テーブル、データ型、および宣言的データ整合性 Lesson 1 - データ型の選択(ガイドライン) - ページ 93
関連
-
[解決済み] C#のStringとstringの違いは何ですか?
-
[解決済み] SQL ServerでSELECTからUPDATEする方法とは?
-
[解決済み] SQL Server で複数行のテキストを 1 つのテキスト文字列に連結する方法
-
[解決済み] SQL Server の DateTime データ型から日付だけを返す方法
-
[解決済み] varcharとnvarcharの違いは何ですか?
-
[解決済み] 最初の行への結合方法
-
[解決済み] SQL Server における DateTime2 と DateTime の比較
-
[解決済み] SQL Serverでは、MONEYとDECIMAL(x,y)のどちらをデータ型として選択すべきでしょうか?
-
[解決済み】「INNER JOIN」と「OUTER JOIN」の違いは何ですか?
-
[解決済み】SQL Serverで既存のテーブルにデフォルト値を持つカラムを追加する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] .NETでのdecimal, float, doubleの違い?
-
[解決済み] SQL ServerでJOINを使用してUPDATE文を実行するにはどうすればよいですか?
-
[解決済み] SQL Serverで、指定したテーブルを参照しているすべての外部キーを一覧表示するにはどうすればよいですか?
-
[解決済み] SQL ServerにおけるINSERT OR UPDATEに関する解決策
-
[解決済み] SQL Serverでは、MONEYとDECIMAL(x,y)のどちらをデータ型として選択すべきでしょうか?
-
[解決済み] Count()で条件を指定することは可能ですか?
-
[解決済み] SQLサーバーで行を列に効率的に変換する
-
[解決済み] T-SQL文の接頭辞Nの意味と使うべきタイミングは?
-
[解決済み] floatとdecimalのデータ型の違い
-
[解決済み] SQL ServerでDECIMALとNUMERICの違いは何ですか?