データ型nvarchar(50)の2つの列AとBがある場合、両方とも通貨コード(例:100.00 USD)の金額を表します。トリガーや手続きの計算で小数点のみを使用しますか?計算で文字列の小数部を使用するSQL Server
AS
... :例えば
、A = '300.00 USD' およびB = '299.50 USD' A、Bからの値を減算した後、挿入トリガー@a nvarchar(50)を宣言します。
declare @b nvarchar(50);
declare @ans decimal(10,2);
@ i = i.Aを挿入iから選択します。
挿入iからBを選択します。 @b -
は今、私は@ans = @aを見つけたい
を開始します。
END
それは私が「を選択して、異なるテーブルと出力を結合する値の範囲、テストのための手順でそれをやっている実際のシナリオの一部である複雑に何
。 。 "へ。次のコードのように
通貨を別の列に保管しないのはなぜですか? –
小数点データにはテキストフィールドを使用しないでください。問題はSQL Serverではなくクエリです。 * text *で数学演算を行うにはどうしますか?通貨が関与しているオペレーションは実行しないでください。 *ドル*から*ポンド*を差し引くポイントは何ですか? –
それは理想的でしょう。残念ながら、これは大学プロジェクトのためのものであり、正規化を守らなければなりません。特定のテーブルは予約のためのもので、私は合計価格を計算しようとしています。3番目の正規形では、非プライム属性が別の非プライム属性に依存することはできません。これは、通貨を別の列に格納する場合です。 – Nazgul