SQL舍入查询

时间:2014-10-14 07:14:41

标签: sql sql-server syntax rounding

我一直在做很多研究,试图找到我的问题的答案。

我试图找出当数字小于1时需要舍入哪种语法。

例如              选择17/26

在SQL中运行时,它会显示零,但是我试图让它返回0.65的答案。

我尝试过使用ROUND,CAST AS Numeric,Decimal以及Money。

到目前为止......没有运气

任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:2)

试试这个

SELECT round(convert(float,17)/26,2)

答案 1 :(得分:0)

尝试强制引擎管理浮动(乘以浮点数' 1.0'),就像这样......

SELECT (1.0*17/26) as x;

也可以圆...你可以像

一样写
SELECT round((1.0*17/26),2) as x;

(试过PostgreSQL并且工作过)

答案 2 :(得分:0)

无论它有什么价值,当我使用实际的硬编码值执行此类操作时,我只需在其中一个元素中添加小数位。对于数据库字段,CAST()更好,但如果您在输入内容时只使用小数...

 SELECT 17/26, 17/26.0, 17.0/26