2015-09-02 93 views
0

我有一個量場是decimal(13,5)SQl Server.如何基於在SQL Server

,所以要花值像22.23456(小數點後5個值)

條件限制十進制值現在我想限制根據病情小數象下面這樣:

22.23456,結果應該是22.24

22.20001,結果應該是22.21

22.20000,結果應該是22.20

22.00000,結果應該是22.00

所以,如果有任何非0數字後第2小數位(在1日例如:4),只是增加(22.234522.24

是否有任何函數或我們需要使用長度類型函數來實現此目的?

請幫忙。

在此先感謝。

回答

3

既然你想在百分之一位置使用標準四捨五入的最高值將不起作用。然而,您可以使用一點數學和CEILING來完成。

with MyValues(SomeValue) as 
(
    select 22.23456 union all 
    select 22.20001 union all 
    select 22.20000 union all 
    select 22.00000 
) 
select cast(ceiling(SomeValue * 100)/100. as numeric(9,2)) as MyResult 
from MyValues 

https://msdn.microsoft.com/en-us/library/ms189818.aspx

+0

謝謝了@ Sean.This幫助了我。 – Santosh