如何从SQL中的列检索分数值

如何从SQL中的列检索分数值,sql,Sql,我有一个名为quantity的列,其值为1.00、2.00、1.5、2.5等。如果我想检索值1.5、2.5以及所有其他类似值,我如何编写查询? 在SQLin中,您已尝试: SELECT quantity_billed FROM invoice_line_item WHERE quantity_billed != ROUND(quantity_billed) 及 使用like运算符,它也会给出类似于1.00的值。使用非like('%.00')来获得分数金额怎么样。不确定您使用的是哪个数据库,因

我有一个名为
quantity
的列,其值为1.00、2.00、1.5、2.5等。如果我想检索值1.5、2.5以及所有其他类似值,我如何编写查询? 在
SQL
in中,您已尝试:

SELECT quantity_billed FROM invoice_line_item WHERE quantity_billed != ROUND(quantity_billed) 


使用
like
运算符,它也会给出类似于1.00的值。

使用
非like('%.00')
来获得分数金额怎么样。不确定您使用的是哪个数据库,因此可能需要稍加修改,但这在MySql和SQL Server中有效,类似于%仅适用于字符串,因此您应该将您的数据转换为varchar.if float或decimal

选择开票数量 从发票\行\项目转换(varchar,数量\账单)
与“%.5%”类似,您也可以使用模函数:

SELECT quantity_billed 
FROM invoice_line_item 
WHERE quantity_billed MOD 1 <> 0
选择开票数量
来自发票\行\项目
其中数量\u按1 0模式计费

为什么SQL是这种类型,在MySQL中不需要转换,可能因db engineAh nice而异,没有意识到模运算会像这样工作,比我建议的要简单得多,它需要但OP的需要为0。当我看到此内容时,已删除我的答案。美好的