2016-04-05 11 views
0

私のcalcutationsのいくつかの量がオリジナルのものと一致しないことが分かりました(Excelで - インポートする前に)。コンマをドットに置き換えるときの数値の切り上げ

ブラジルの金額には、通常、カンマが10進数の識別子として表示されますが、SQL Serverは標準の英語として認識されません。

回避策は、カンマをドットに置き換えていましたが、SQL Serverは自動的にこれを切り上げています。下記の例を参照してください。

select vlr_contab_item vl1, replace(vlr_contab_item,',','.') vl2 
-------------------- 
vl1  | vl2 
-------------------- 
40783,29 | 40783.3 
-------------------- 

交換後の金額を丸めない方法はありますか?

+1

列 'vl1'のデータ型は何ですか?あなたは 'vl2'の出力もあなたにカンマを与えますか? –

+0

vlr_contab_item(vl1)タイプはfloatです。 –

+0

floatを使用しないでください。不正確なデータ型であり、丸めます。 – HLGEM

答えて

0
DECLARE @amount AS MONEY 

SET @amount = 1200.5566 

SELECT FORMAT(@amount, 'N', 'en-us') AS 'Number Format' 
      ,FORMAT(@amount, 'G', 'en-us') AS 'General Format' 
      ,FORMAT(@amount, 'C', 'en-us') AS 'Currency Format' 
      ,FORMAT(@amount, 'C3', 'en-us') AS 'Currency Format' 
      ,FORMAT(@amount ,'F', 'de-DE') AS 'Currency Format' 

FORMAT (Transact-SQL)

Standard Numeric Format Strings

+0

それは動作します!それは本当に役に立ちます! ありがとうございました! –

関連する問題