1. 程式人生 > >sqlserver資料庫中如果對數值型的欄位進行小數點保留兩位,如果是小於1的數,前面的0消失解決方案

sqlserver資料庫中如果對數值型的欄位進行小數點保留兩位,如果是小於1的數,前面的0消失解決方案

sqlserver資料庫中數值型保留兩位小數的方式:

1. 使用 Round() 函式,如 Round(@num,2)  引數 2 表示 保留兩位有效數字。

2. 更好的方法是使用 Convert(decimal(18,2),@num) 實現轉換,decimal(18,2) 指定要保留的有效數字。

這兩個方法有一點不同:使用 Round() 函式,如果 @num 是常數,如 Round(2.3344,2) 則 會在把有效數字後面的 變為0 ,成 2.3300。但 Convert() 函式就不會。

如果結果是小於1的數,前面的0不顯示,例如結果為0.25,查詢出來變成了.25前面的0不顯示

如何解決這一問題呢

可以對結果再次進行轉換,轉換為字串即可,例如:

convert(varchar,convert(decimal(18,2),要轉換的欄位或值))