我正在使用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。
预先感谢您的任何建议!!!!
尝试:
SELECT COUNT(myfield/26.0) totalcount FROM mytable
或者:
SELECT COUNT(CAST(myfield as double)/26) totalcount FROM mytable
不熟悉Firebird,但是在其他实现中,您必须在除法之前将分子或分母强制转换/转换为小数,因为整数除法会返回整数值。