在 SQL 中,将浮点数转换为整数是一项常见任务。可以使用多种 来实现此目的,但最常用且有效的 之一是使用 CAST() 函数。例如:
SELECT CAST(123.45 AS INTEGER);
此查询将返回整数 123,有效地丢弃了小数部分。需要注意的是,CAST() 函数会将源值转换为指定的数据类型,在这种情况下是 INTEGER。因此,它不会修改原始值,而是创建其整数表示形式的副本。
使用 FLOOR() 和 CEIL() 函数
CAST() 函数并不是将浮点数转换为整数的唯一 。FLOOR() 和 CEIL() 函数也可以用于此目的。FLOOR() 函数将浮点数向下舍入到最接近的整数,而 CEIL() 函数向上舍入。例如:
SELECT FLOOR(123.45); -- 返回 123
SELECT CEIL(123.45); -- 返回 124
这些函数可以派上用场,具体取决于所需的舍入方向。例如,如果您要计算用户购买商品的数量,则使用 FLOOR() 函数更为合适,因为它会将小数部分舍入到最接近的整数,以确保不收取部分商品的费用。
浮点数整数转换的示例
让我们看一些将浮点数转换为整数的实际示例:
计算总销售额:SELECT SUM(CAST(sales_amount AS INTEGER)) FROM orders;
获取平均购买数量:SELECT AVG(CAST(quantity AS INTEGER)) FROM purchases;
确定用户级别:SELECT CASE WHEN CAST(user_points AS INTEGER) > 100 THEN '高级' ELSE '普通' END FROM users;
通过使用 CAST()、FLOOR() 和 CEIL() 函数,您可以轻松快捷地将浮点数转换为整数,从而满足各种 SQL 查询的需求。