int
として作成したテーブルの列の1つのデータ型を割り当てました。私の問題は、クエリを実行したときに小数点以下が表示されないことです。
この列のデータ型を修正して、小数点以下を受け入れるようにするにはどうすればよいですか?
テーブルはdbo.Budget
および関係する列はROE
と呼ばれます。
簡単-このSQLステートメントを実行するだけ
ALTER TABLE dbo.Budget
ALTER COLUMN ROE DECIMAL(20,2) -- or whatever precision and scale you need.....
freely availableMSDNドキュメント 10進数の精度、スケール、長さ、および値の範囲について可能
これを明確にするために:
テーブルにデータがない場合、またはそれほど多くない場合は、単純なALTER TABLE
ステートメント(ここの他の回答で説明されている)は問題ありません。
ただし、大量のデータ(数百万行、場合によってはテーブルのサイズに応じてそれ以下)および/またはテーブルの競合が多く、完全なダウンタイム/メンテナンスウィンドウの機会があまりない場合は、この回答で説明したような別のアプローチ: 非常に大きなテーブルのデータ型を絞り込む 。
この簡単なSQL文を実行できます
Alter table yourtable
Alter Column yourtable_column Decimal(10,2)
10進数の精度を設定し、必要に応じてスケーリングできます。