如何在没有四舍五入的情况下截断小数位?

Beg*_*Pal 4 sql t-sql sql-server

假设我有以下十进制值:

4.584406

我需要一个简单的快速方法来截断小数而不用向上舍入,因此输出将是4.5

我正在使用T-SQL(SQL Server 2005/2008).

任何帮助将不胜感激.

RRU*_*RUZ 7

使用该round功能,您可以尝试这个

select round(4.584406, 1, 1)
Run Code Online (Sandbox Code Playgroud)

输出将是

4.5
Run Code Online (Sandbox Code Playgroud)

关键是第三个参数

ROUND ( numeric_expression , length [ ,function ] )
Run Code Online (Sandbox Code Playgroud)

功能

Is the type of operation to perform. function must be tinyint,
Run Code Online (Sandbox Code Playgroud)

smallint或int.省略function或者值为0(默认值)时,numeric_expression将四舍五入.如果指定了0以外的值,则会截断numeric_expression.