如何获得十进制十进制类型的值

时间:2012-02-20 13:44:41

标签: sql-server

我正在使用MsSql server 2008,

假设我的表发票包含列名NetAmount,其类型为十进制(20,4)

及其数据

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

我希望通过查询来检索只获得在小数点后四位的值不等于零的发票,在我的情况下,此查询应该只获得ID = 1且金额= 12.1234作为其第四个十进制数的第一张发票是4不是零

由于

1 个答案:

答案 0 :(得分:4)

一种技巧:

WHERE
   (NetAmount * 10000) % 10 <> 0

另:

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

WHERE
   ROUND(NetAmount, 3) <> NetAmount