SQL从int转换为十进制

标签 sql sql-server-2005 casting

我在表中有两列填充了整数值。对于每条记录,我想将这两列的值相除并格式化输出,以便将小数点移到右边的位置。

例如,如果我有一条记录的两列的值分别为4和1,并且想要将1除以4(即1/4),那么我希望输出为25.00。

这是我前几天尝试过的最后一件事:

CAST(Total AS Decimal(2))/CAST(TotalAnswers AS Decimal(2)) AS 'Percent' 

我无法找到CAST函数的语法说明,以查看为十进制传递的参数代表什么。当我更改它时,它有时会更改小数点右边的位数,但是结果并不总是我所期望的,因此我希望对此有所帮助。

最佳答案

像这样写:

SELECT CAST(CAST(Total As float) / TotalAnswers * 100 As decimal(8, 2))

关于SQL从int转换为十进制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10096209/

相关文章:

sql - SQL Server 代码之间的区别?

c++ - 何时以编程方式卸载 SQL Server Native Client 是安全的?

c++ - 将指针转换为整数

sql-server - 找不到用户 '' ,因为它不存在或您没有权限

c# - 是否有令人信服的理由反对使用 C# 关键字 "as"?

java - 在 Java 中这两种转换方式有什么区别?

java - 服务器 : Null java. sql.SQLException 参数索引超出范围(1 > 参数数量,为 0)

sql - PostgreSQL 分组依据和总和

sql - SQL Server 中的反转字符串

sql-server - 用于编写行插入脚本的 sql server Management Studio 简单插件或程序