当前位置:  开发笔记 > 数据库 > 正文

写一个带有两个小数位的SQL服务器的数字

如何解决《写一个带有两个小数位的SQL服务器的数字》经验,为你挑选了7个好方法。

如何为sql server编写带小数位数的两位数?



1> 小智..:

试试这个

SELECT CONVERT(DECIMAL(10,2),YOURCOLUMN)


如果这是十年前的答案,那就没有了。此方法会将10.11111变成10.00。

2> Charles Bret..:

使用Str()功能.它需要三个参数(数字,要显示的总字符数,以及要显示的小数位数)

  Select Str(12345.6789, 12, 3)

显示:'12345.679'(3个空格,5个数字12345,一个小数点和三个十进制数字(679). - 如果必须截断,它会舍入,(除非整数部分对于总大小太大,在这种情况下而是显示星号.)

总共12个字符,小数点右边有3个字符.



3> 小智..:

通常,您可以通过使用参数定义数字来定义数字的精度.对于大多数情况,这将是NUMERIC(10,2)Decimal(10,2)- 将列定义为一个数字,总数为10,精度为2(小数位).

编辑清晰


出于几个原因这是错误的.它不是数字,它是数字或小数.你说数字(10,2)允许小数点前10位,这也是错误的.数字(10,2)允许小数点后2位的10位总数.范围= -99999999.99至99999999.99
它也可以声明为DECIMAL(10,2).

4> Mohamed Rama..:

这项工作对我而言始终保持两位数的分数

23.1 ==> 23.10

25.569 ==> 25.56

1 ==> 1.00

Cast(CONVERT(DECIMAL(10,2),Value1) as nvarchar) AS Value2

代码截图


尝试上面的Charles Bretana的STR()函数.它的工作方式与您的公式相似,但会对您的25.569示例进行四舍五入.

5> ClubbieTim..:

这就是孩子们今天这样做的方式:

DECLARE @test DECIMAL(18,6) = 123.456789
SELECT FORMAT(@test, '##.##')

123.46



6> 小智..:

如果你只需要两位小数,最简单的方法是......

SELECT CAST(12 AS DECIMAL(16,2))

要么

SELECT CAST('12' AS DECIMAL(16,2))

产量

12.00



7> antoine..:

如果您可以将数字四舍五入而不是截断它,那么它只是:

ROUND(column_name,decimals)

推荐阅读
我我檬檬我我186
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有