2009-06-30 4 views
0

コスト、参加者、single_costの3つの列があり、参加者別のコストをsingle_costに分類するためにSQLを書きたいと考えています。 小数部分が現れたときに私はそれを残すように働いていますが、私は入力することができますが、私は言う、そしてこの機会に価値を教える方法を知っているだろうか? 各列はint型です。よろしくお願いします。SQLの数値書式化機能

元 はコスト= 15000、参加者= 7の時、私はsingle_cost = 2,142.8となったが、2143

+0

を行うことができます。 – akf

+0

あなたはどのデータベースを使用していますか? –

答えて

1

用データベースと自分自身を登録し、私が正しく理解していれば、あなたは浮動小数点値が保持されるようにしたいですあなたのデータベースに。それが起こるためには、次のように浮動小数点演算結果をキャストする必要があります:CAST(X/Y AS FLOAT)、XとYとあなたのフィールド名。

single_costのデータ型もFLOATでなければならないことに注意してください。

データベースに応じて、これを実現するもう1つの方法は、分子または分母に「1.0」を掛けることです。例えば

UPDATE Table 
SET single_cost = (1.0 * cost)/participant 

以前のソリューションは次のようになります。

UPDATE Table 
SET single_cost = CAST(cost AS FLOAT)/participant 

お役に立てば幸いです。

0

あなたが質問を言い換えを検討する必要がありますこのような何か(T-SQLを想定)

select single_cost = round(cast(cost as float)/cast(participant as float),0) 
関連する問題