私は2つの整数を分けたい:8分の15と戻り値 "53.33"。小数点2桁すべてをキャストしますか?
私は、一つ一つの組み合わせを試してみた、と私は、これは私が所望の値を返すことができる唯一の方法であることを発見しました:
select cast(100*cast(8/cast(15 as decimal(10,4)) as decimal(18,4)) as decimal(18,2))
が短く方法はありますか?
ありがとうございました。
私は2つの整数を分けたい:8分の15と戻り値 "53.33"。小数点2桁すべてをキャストしますか?
私は、一つ一つの組み合わせを試してみた、と私は、これは私が所望の値を返すことができる唯一の方法であることを発見しました:
select cast(100*cast(8/cast(15 as decimal(10,4)) as decimal(18,4)) as decimal(18,2))
が短く方法はありますか?
ありがとうございました。
。フロートを使用し、100
select 8/15.00 * 100
それとも、あなたの精度のために掛ける、これらは、テーブルに1.0により、複数の整数であり、一度をキャストした場合だけ
一度select cast(8/15.00 * 100 as decimal (10,2))
キャストを行います
DEMO
declare @table table (int_one int, int_two int)
insert into @table
values
(8,15)
select
cast(((int_one * 1.0)/int_two) * 100 as decimal(10,2))
from @table
はこれを試してください:あなたはinterger分裂を行っている
select (cast (8 as money)/cast(15 as money) * 100)
'CAST(8 * 1.0/15 AS DECIMAL(10,2))'? – Lamak
これを複数倍にするだけです。* 100 – squillman