SQL强制显示十进制值

SQL强制显示十进制值,sql,firebird,Sql,Firebird,我正在使用Firebird数据库并尝试以下sql,但每次它都返回0,而不是0.61538(以此类推) 现在,当我删除/26时,totalcount返回16。但当我把除以26的数加进去时,结果显示为0,但它应该显示为0.615384的完整十进制值。。。有人知道为什么它没有返回全部值吗?我甚至尝试过将它包装在一个CAST中((count(myfield)/26)作为double)totalcount,但它仍然返回0 提前感谢您的建议 试试看: SELECT COUNT(myfield/26.0) t

我正在使用Firebird数据库并尝试以下sql,但每次它都返回0,而不是0.61538(以此类推)

现在,当我删除/26时,totalcount返回16。但当我把除以26的数加进去时,结果显示为0,但它应该显示为0.615384的完整十进制值。。。有人知道为什么它没有返回全部值吗?我甚至尝试过将它包装在一个CAST中((count(myfield)/26)作为double)totalcount,但它仍然返回0

提前感谢您的建议

试试看:

SELECT COUNT(myfield/26.0) totalcount
FROM mytable
或:


不熟悉Firebird,但在其他实现中,您必须在除法之前将分子或分母转换为十进制,因为整型除法返回整数值。

您可以!!!我用了你的第一个建议,效果很好!我会尽快接受这个正确答案。
SELECT COUNT(myfield/26.0) totalcount
FROM mytable
SELECT COUNT(CAST(myfield as double)/26) totalcount
FROM mytable