微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

SQL Server:舍入十进制数并转换为int(在Select中)

我在Select中使用以下行返回带小数的数字,
例如33.33333.

如何在Select中对此进行舍入并转换为整数,以便我没有小数,例如在上面的例子中它应该返回33?

100 * AVG(CASE WHEN col2 = col3 THEN 1.0 ELSE 0.0 END) AS matchPercent

蒂姆,非常感谢你提供的任何帮助.

解决方法

您可以使用ROUND函数将值四舍五入为整数:
ROUND(INT,100 * AVG(CASE WHEN col2 = col3 THEN 1.0 ELSE 0.0 END),0) AS matchPercent

这将保留类型,例如圆形浮子将保持浮动.如果还需要返回int数据类型(或其他整数数据类型),还需要转换它:

CONVERT(INT,ROUND(INT,0)) AS matchPercent

原文地址:https://www.jb51.cc/mssql/76447.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐