Sql server 在SQL Server中将值设置为小数点后2位

Sql server 在SQL Server中将值设置为小数点后2位,sql-server,Sql Server,我有一个非常简单的问题。我需要在SQL Server中将我的值设置为2位小数,如下所示: 34.123 --> becomes --> 34.12 34.125 --> becomes --> 34.13 换言之,如果第三个十进制数大于或等于5,则应在第二个十进制数的基础上加上1 我试过圆顶和天花板,但没有一种效果。只保留小数点后两位 select cast(34.125 as decimal(10,2)) 只需转换到小数点后2位 select cast(34.125

我有一个非常简单的问题。我需要在SQL Server中将我的值设置为2位小数,如下所示:

34.123 --> becomes --> 34.12
34.125 --> becomes --> 34.13
换言之,如果第三个十进制数大于或等于5,则应在第二个十进制数的基础上加上1


我试过圆顶和天花板,但没有一种效果。

只保留小数点后两位

select cast(34.125 as decimal(10,2))

只需转换到小数点后2位

select cast(34.125 as decimal(10,2))

地板、天花板和圆屋顶都能起作用。ROUND34.125返回的正是您要求的内容。尾随的零在数字上并不重要。您可以强制转换为具有2个十进制数字的十进制,但这根本不会影响结果。您希望在何处使用此结果,就好像您希望更新现有列中的值一样,然后首先需要修改列的数据类型以仅接受2个十进制数字。或者,如果您只想使用此结果,则可以将其转换为小数点后2位。地板、天花板和圆形做功。ROUND34.125返回的正是您要求的内容。尾随的零在数字上并不重要。您可以强制转换为具有2个十进制数字的十进制,但这根本不会影响结果。您希望在何处使用此结果,就好像您希望更新现有列中的值一样,然后首先需要修改列的数据类型以仅接受2个十进制数字。或者,如果只想使用此结果,则可以将其转换为小数点后2位。