在 SQL 中,经常需要对数据进行取整操作,以获取整数结果。为此,提供了以下函数:
ROUND():四舍五入到指定的小数位数(默认 0,即取整数)。
TRUNCATE():截断小数部分,保留整数部分。
FLOOR():向下取整,返回小于或等于指定数字的最大整数。
CEILING():向上取整,返回大于或等于指定数字的最小整数。
ROUND() 函数
ROUND() 函数的语法为:ROUND(number, num_digits),其中 number 为要取整的数字,num_digits 为要舍入的小数位数。如果未指定 num_digits,则默认为 0,即取整数。
例如:
SELECT ROUND(123.45); -- 结果:123
SELECT ROUND(123.45, 1); -- 结果:123.5
SELECT ROUND(123.45, -1); -- 结果:120
TRUNCATE() 函数
TRUNCATE() 函数的语法为:TRUNCATE(number, num_digits),其中 number 为要取整的数字,num_digits 为要截断的小数位数。如果未指定 num_digits,则默认为 0,即截断所有小数部分。
例如:
SELECT TRUNCATE(123.45); -- 结果:123
SELECT TRUNCATE(123.45, 1); -- 结果:123.0
SELECT TRUNCATE(123.45, -1); -- 结果:100
FLOOR() 和 CEILING() 函数
FLOOR() 和 CEILING() 函数分别用于向下和向上取整。它们的语法与 ROUND() 函数类似,不同点在于它们不接受小数位数参数。
例如:
SELECT FLOOR(123.45); -- 结果:123
SELECT CEILING(123.45); -- 结果:124
实际应用
SQL 取整数的函数在实际应用中非常广泛,例如:
计算金额时,通常需要取整为整数。
对时间进行取整,例如取整到整分钟或整小时。
对测量值进行取整,例如取整到最近的整数厘米或千克。
总之,SQL 取整数的函数可以帮助我们方便地获取整数结果,在数据处理和分析中发挥着重要作用。