2011-02-03 16 views
-1

私は645.000のように私のSQLデータベース内のデータを持っていると私は、例えば、通貨記号を含むようにフォーマットする必要があり、$645.000

がどのようにSQLでこれを達成することができますか?

+0

テーブル構造に関する情報を投稿できますか? –

+0

確かに。私はお金のデータ型を持つ1つの "BCWS"列を持つ1つの製品テーブルを持っています。この列には456.000,331500000.0000,854.000などのデータがあります。SQL Serverを使用して$形式のデータが必要です。 –

+0

chaudhary:** please **、そのようなものをコメントに入れないでください - 読むのは本当に難しいです。代わりに** **あなたのオリジナルの質問を** **編集**して更新し、その追加情報を提供してください - ありがとう! –

答えて

4

SQL Serverでフォーマットする必要はなく、フォーマットする必要はありません。代わりに、UI用にフォーマットする必要があるアプリケーションです。

あなたのアプリケーションがどのようにコード化されているかは明言していません。 C#で、私たちは、あなたがいないだけで、それが正しい通貨記号を使用することを確認することができます

Label1.Text = string.Format("Amount is {0:c}", amount); 

を使用することができ、それはまた、正しい小数点および1000の区切り記号を使用します。

0

あなたの列のデータ型は何ですか?

通常、通貨プレフィックスはUI(ユーザーインターフェイス)にのみ追加し、データベースレベルでは数字だけで作業する必要があります。金額を格納するための最良のデータ型はMONEYです。

+0

MONEYは金額を保存するのに最適なデータタイプですか?どうして?私はそれのための使用を発見したことがないし、いくつかの計算では、数値はNUMERICに比べて非常に不正確な結果をもたらします。一方、MONEYはNUMERICに比べていくつかのパフォーマンス上の利点を持ち、少量のストレージを節約できます。私はそれがお金の価値のための "最高の"タイプだと言っておく価値があることを確信していません。 – sqlvogel

+0

http://stackoverflow.com/questions/628637/best-data-type-for-currency –

+0

申し訳ありませんdportas私はおそらく私のポストでは少し速かった、お金にはいくつかの利点がありますが、すべての場合にお金が絶対に最高の場合、実際には人々がそれを使用しないと言う投稿があります。 –

0

これは、実際にはUIからではなく、データベースから行う必要がある場合に参照してください。

http://www.java2s.com/Code/SQLServer/Data-Type/Formatmoneycurrency.htm

+0

私はこのエラーを受け取りました: "金銭価値をvarcharに変換するための結果スペースが不十分です。"もし私の値が:22888360.0000 –

+0

あなたのVARCHARサイズに問題があります。それをより大きな値(VARCHAR(20)か何か)にして試してみてください。 – Nipuna

+0

これは大丈夫ですが、私はこの方法でフォーマットしたい:$ 228,883,60。あなたの例を使って、私は$ 22888360.00のようなデータを得ました。 –

1

SQLサーバーは、番号がクライアントアプリケーションでどのように表示されるかを制御することはできません。アプリケーション設定、Windowsのコントロールパネルまたはプログラムコードを変更して、番号の表示方法を変更します。

関連する問題