如何为sql server编写带小数位数的两位数?
试试这个
SELECT CONVERT(DECIMAL(10,2),YOURCOLUMN)
使用Str()
功能.它需要三个参数(数字,要显示的总字符数,以及要显示的小数位数)
Select Str(12345.6789, 12, 3)
显示:'12345.679'(3个空格,5个数字12345,一个小数点和三个十进制数字(679). - 如果必须截断,它会舍入,(除非整数部分对于总大小太大,在这种情况下而是显示星号.)
总共12个字符,小数点右边有3个字符.
通常,您可以通过使用参数定义数字来定义数字的精度.对于大多数情况,这将是NUMERIC(10,2)
或Decimal(10,2)
- 将列定义为一个数字,总数为10,精度为2(小数位).
编辑清晰
这项工作对我而言始终保持两位数的分数
23.1 ==> 23.10
25.569 ==> 25.56
1 ==> 1.00
Cast(CONVERT(DECIMAL(10,2),Value1) as nvarchar) AS Value2
代码截图
这就是孩子们今天这样做的方式:
DECLARE @test DECIMAL(18,6) = 123.456789 SELECT FORMAT(@test, '##.##')
123.46
如果你只需要两位小数,最简单的方法是......
SELECT CAST(12 AS DECIMAL(16,2))
要么
SELECT CAST('12' AS DECIMAL(16,2))
产量
12.00
如果您可以将数字四舍五入而不是截断它,那么它只是:
ROUND(column_name,decimals)