web-dev-qa-db-ja.com

小数点以下2桁の数字でSQLサーバを書く

あなたはどのようにSQL Server用の小数点以下2桁の数を書くのですか?

131
student2009

これを試して

SELECT CONVERT(DECIMAL(10,2),YOURCOLUMN)
184
Manoj

Str()関数を使用してください。これは3つの引数(数値、表示する合計文字数、および表示する小数点以下の桁数)を取ります。

  Select Str(12345.6789, 12, 3)

'12345.679'(3つのスペース、5つの数字12345、小数点、および3つの小数点(679)) - 切り捨てる必要がある場合は丸めます(整数部分が合計サイズに対して大きすぎる場合を除く代わりにアスタリスクが表示されます。

合計12文字の場合、小数点の右側に3が付きます。

61
Charles Bretana

通常、SQLで数値の精度を定義するには、パラメータでそれを定義します。ほとんどの場合、これはNUMERIC(10,2)またはDecimal(10,2)になります。桁数10桁、精度2(小数点以下の桁数)として列を定義します。

わかりやすくするために編集しました

34
AAA

これは私のために動作し、常に2桁の分数を保つ

23.1 ==> 23.10

25.569 ==> 25.56

1 ==> 1.00

Cast(CONVERT(DECIMAL(10,2),Value1) as nvarchar) AS Value2

コードのスクリーンショット

13
Mohamed Ramadan

これは子供が今日それをやっている方法です:

DECLARE @test DECIMAL(18,6) = 123.456789
SELECT FORMAT(@test, '##.##')

123.46

8
ClubbieTim

小数点以下2桁しか必要ない場合は、最も簡単な方法は..です。

SELECT CAST(12 AS DECIMAL(16,2))

OR

SELECT CAST('12' AS DECIMAL(16,2))

出力

12.00
7
SonalPM

切り捨てるのではなく、丸めして数値に問題がなければ、次のようになります。

ROUND(column_name,decimals)
5
antoine

挿入したい値(例:2.99)に100を掛けます

次に、最後に.01を加えた結果の100による除算を挿入します。

299.01/100
2
SQL Master

これを試して:

 declare @MyFloatVal float;

    set @MyFloatVal=(select convert(decimal(10, 2), 10.254000))

    select  @MyFloatVal

    Convert(decimal(18,2),r.AdditionAmount) as AdditionAmount
1
Anil Chaudhary

これは10進数の後に2つの値を持つ合計10桁を許可します。つまり、10進数の前に最大8桁、10進数の後に2を入れることができます。

検証するには、次のクエリに値を入れます。

DECLARE vtest  number(10,2);
BEGIN
SELECT 10.008 INTO vtest FROM dual;
dbms_output.put_line(vtest);
END;
0
kumar vishwash