2017-06-05 17 views
0

SQLのAmountを15の整数と小数点以下3桁(18桁)の形式で表示する必要があります。整数に固定長形式で余分なゼロを追加する

  1. 長さ18
  2. 進数を完了するために、動的に余分なゼロの追加も、例えばゼロ

に置き換えられます(。):

$ 2,494.60 000000002494060として表示されます

0を使用して達成可能ですか?

答えて

0
declare @amount numeric(15,3) = 2949.60 
select Right('000000000000000' + replace(cast(@amount as varchar(15)),'.','0'),15) 
+0

あなたは二行目の終わりを再確認してくださいすることができます。私はそれがいくつかの問題を持っていると思う – Abdul

+0

ブラケットは、他の方法に直面していた:) – Jayvee

+0

ありがとうalot @ Jayvee – Abdul

1

あなたはゼロにスペースやドットを変更するには先頭と末尾の小数点以下の桁を修正するためにSTRを使用して、REPLACEことができます。

問合せ:

SELECT Amount 
    , PaddedAmount = REPLACE(REPLACE(STR(Amount, 15, 2), '.', '0'), ' ', '0') 
FROM 
    (VALUES (12345.678), (1231312), (0.12345), (0), (123456789012.45)) AS V (Amount) 

出力:

Amount    PaddedAmount 
------------------- ---------------- 
12345.67800   000000
1231312.00000  0000
0.12345    000000000000012 
0.00000    000000000000000 
123456789012.45000 123456789012045 
関連する問題