SQL数字小数

SQL数字小数,sql,sql-server,tsql,Sql,Sql Server,Tsql,我运行了一个查询,我所有的数字都是5个小数点: 例如— 156713.55000 2103613.03000 2080.08000 是否有一段简单的代码可以添加到我的代码中,使“成本”表的结果精确到小数点后2位?只需使用舍入功能: SELECT ROUND(column, 2) FROM Cost 或者,要去掉小数并取整,请使用CAST: SELECT CAST(column as decimal(10, 2)) 下面的例子将帮助您 四舍五入: select ROUND(55.4567,

我运行了一个查询,我所有的数字都是5个小数点:

例如—

156713.55000
2103613.03000
2080.08000

是否有一段简单的代码可以添加到我的代码中,使“成本”表的结果精确到小数点后2位?

只需使用
舍入功能:

SELECT ROUND(column, 2) FROM Cost
或者,要去掉小数并取整,请使用
CAST

SELECT CAST(column as decimal(10, 2))

下面的例子将帮助您

四舍五入:

select ROUND(55.4567, 2, 0)
-- Returns 55.4600

select CAST(55.4567 as decimal(38, 2))
-- Returns 55.46
select ROUND(55.4567, 2, 1)
-- Returns 55.4500

select CAST(ROUND(55.4567, 2, 1) as decimal(38, 2))
-- Returns 55.45
不四舍五入:

select ROUND(55.4567, 2, 0)
-- Returns 55.4600

select CAST(55.4567 as decimal(38, 2))
-- Returns 55.46
select ROUND(55.4567, 2, 1)
-- Returns 55.4500

select CAST(ROUND(55.4567, 2, 1) as decimal(38, 2))
-- Returns 55.45

使用
Str()
函数。它需要三个参数(数字、要显示的字符总数和要显示的小数位数)

  Select Str(12345.6789, 12, 3)
显示:“12345.679”(3个空格、5个数字12345、一个小数点和三个小数点(679)。-如果必须截断,则舍入


总共12个字符,小数点右侧有3个。

这是哪种RDBMS?SQL Server?MYSQL?另外,请发布一个表定义,或者至少告诉我们
成本
表中的列是什么,以及它是什么数据类型。如果这是一个只能有两个小数位的货币值,那么应该有两个小数位在列中最多保留2位小数,在默认情况下,对表/数据库进行结构化以使不正确的值无法添加,这总是比在退出数据库时将其转换为“正确”值更可取。
STR(float_expression[,length[,decimal]])的+1