2012-02-20 31 views
1

我與MSSQL Server 2008的工作的十進制值,如何得到小數類型

可以說我有表發票包含列名NetAmount它的類型是十進制(20,4)

及其數據是

Netamount, InvoiceID 
--------------------- 
12.1234,  1 
20.0120,  2 
98.2300,  3 

我想通過一個查詢中檢索得到其價值只有發票第四小數位不等於零,在我的情況下,該查詢應該只能獲得ID = 1和金額= 12.1234第一發票因爲它的第四個十進制數是4而非零

感謝

回答

4

一種技術:

WHERE 
    (NetAmount * 10000) % 10 <> 0 

另:

WHERE 
    FLOOR(NetAmount * 1000) <> NetAmount * 1000 

而且

WHERE 
    ROUND(NetAmount, 3) <> NetAmount 
+0

+1我是半路通過與'找到一堆廢話()CAST ()SUBSTRING()'但這更有意義。 – 2012-02-20 13:48:59