djs*_*bus 8 sql t-sql sql-server-2005
我有一个数字字段的数据库,我需要搜索所有行,只返回非整数.
我已经尝试了下面的查询,它继续重新调整有0的记录.
SELECT
li.QTY
FROM
TABLE LI
WHERE
li.QTY like '%.%'
Run Code Online (Sandbox Code Playgroud)
ype*_*eᵀᴹ 12
您只能将LIKE用于char字段,而不能使用数字(整数或浮点数).
如果用"整数"表示0.0,2.0,-5.0等,而不是12.5,0.67那么这可以做到:
SELECT li.QTY
FROM TABLE LI
WHERE li.QTY != ROUND(li.QTY , 0)
;
Run Code Online (Sandbox Code Playgroud)
(对于SQL-Server:将TRUNC编辑为ROUND)您还可以使用FLOOR或CEILING函数:
SELECT li.QTY
FROM TABLE LI
WHERE li.QTY != FLOOR(li.QTY)
;
Run Code Online (Sandbox Code Playgroud)