我正在使用Firebird数据库,我正在尝试以下sql,但每次返回0,而不是0.61538(等)。
SELECT (COUNT(myfield)/26) totalcount
FROM mytable
现在,当我删除/ 26时,totalcount将返回16。但是当我加入26除以后,结果显示为0,但它应显示为0.615384的完整十进制值...有谁知道为什么它没有返回完整的值?我甚至尝试将它包装在CAST((count(myfield)/ 26)中作为double)totalcount,但它仍然返回0.
提前感谢您的任何建议!!!!
答案 0 :(得分:6)
尝试:
SELECT COUNT(myfield/26.0) totalcount
FROM mytable
或者:
SELECT COUNT(CAST(myfield as double)/26) totalcount
FROM mytable
不熟悉Firebird,但在其他实现中,您必须在除法之前将分子或分母转换/转换为小数,因为整数除法返回整数值。