0

2 つの既存の列があり、新しい空白の列を作成しました。次のことを試すと、NewColumn に 1 と 0 が入力されます。比率の小数表示が欲しいです。SQL が丸められているように見えます。Column1 と Column2 は数値であり、NewColumn も Numeric として定義しました。

マイテーブルを更新する

NewColumnd を設定 = ((列 1/列 2)*1.00)

ここで、列 2 != 0

ここに間違った結果があります

列 1 列 2 新しい列

5.00 7.16 1

6.59 6.59 1

0.00 6.97 0

0.00 35.89 0

3.00 9.69 0

申し訳ありませんが、これを再投稿する必要がありましたが、私のエントリは引き続き奇妙な形式で表示されます

4

1 に答える 1

0

次の SQL クエリを試してください。

宣言 @table table(column1 decimal(18,2), column2 decimal(18,2))

@テーブルに挿入
5.00、7.16を選択
@テーブルに挿入
6.59、6.59を選択
@テーブルに挿入
0.00、6.97を選択
@テーブルに挿入
0.00、35.89を選択

select * ,case when column1 != 0.00 then ((Column1/Column2)*1.00) else 0 end as column3
@テーブルから

一時テーブルを作成していますが、列が 10 進数で、column1 と column2 があることに注意してください。次に、計算を使用して、その場で新しい column3 を作成しています。

一時テーブルにデータを挿入するには、次のことができます。

@テーブルに挿入
CAST(column1 を decimal(18,2) として選択し、
        [YourTable] からの CAST(column2 as decimal(18,2)

ただし、これはやり過ぎのようです。理想的には、列が 10 進数である必要がある場合は、それらを直接変更します。また、テーブルを直接クエリし、int から decimal(18,2) にキャストしてから、列を計算することも検討する必要があります。

于 2013-06-10T19:11:45.373 に答える