あなたはどのようにSQL Server用の小数点以下2桁の数を書くのですか?
これを試して
SELECT CONVERT(DECIMAL(10,2),YOURCOLUMN)
Str()
関数を使用してください。これは3つの引数(数値、表示する合計文字数、および表示する小数点以下の桁数)を取ります。
Select Str(12345.6789, 12, 3)
'12345.679'(3つのスペース、5つの数字12345、小数点、および3つの小数点(679)) - 切り捨てる必要がある場合は丸めます(整数部分が合計サイズに対して大きすぎる場合を除く代わりにアスタリスクが表示されます。
合計12文字の場合、小数点の右側に3が付きます。
通常、SQLで数値の精度を定義するには、パラメータでそれを定義します。ほとんどの場合、これはNUMERIC(10,2)
またはDecimal(10,2)
になります。桁数10桁、精度2(小数点以下の桁数)として列を定義します。
わかりやすくするために編集しました
これは私のために動作し、常に2桁の分数を保つ
23.1 ==> 23.10
25.569 ==> 25.56
1 ==> 1.00
Cast(CONVERT(DECIMAL(10,2),Value1) as nvarchar) AS Value2
これは子供が今日それをやっている方法です:
DECLARE @test DECIMAL(18,6) = 123.456789
SELECT FORMAT(@test, '##.##')
123.46
小数点以下2桁しか必要ない場合は、最も簡単な方法は..です。
SELECT CAST(12 AS DECIMAL(16,2))
OR
SELECT CAST('12' AS DECIMAL(16,2))
出力
12.00
切り捨てるのではなく、丸めして数値に問題がなければ、次のようになります。
ROUND(column_name,decimals)
挿入したい値(例:2.99)に100を掛けます
次に、最後に.01を加えた結果の100による除算を挿入します。
299.01/100
これを試して:
declare @MyFloatVal float;
set @MyFloatVal=(select convert(decimal(10, 2), 10.254000))
select @MyFloatVal
Convert(decimal(18,2),r.AdditionAmount) as AdditionAmount
これは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;