SQL Force显示十进制值

时间:2013-09-24 16:47:32

标签: sql firebird

我正在使用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.

提前感谢您的任何建议!!!!

1 个答案:

答案 0 :(得分:6)

尝试:

SELECT COUNT(myfield/26.0) totalcount
FROM mytable

或者:

SELECT COUNT(CAST(myfield as double)/26) totalcount
FROM mytable

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