SQL - FLOOR() 函数



SQL 的 FLOOR() 是 SQL 中的一个数值函数,它返回小于或等于给定数字的最大整数。

假设我们有 2.4 和 2.9 的浮点值,那么这两个数的 floor 值都只有 2。因为 floor 值始终小于或等于给定的浮点数,并且永远不会大于给定的浮点数。

语法

以下是 SQL FLOOR() 函数的语法:

SELECT FLOOR(DECIMAL_VALUE) AS alias_name;

以下是 FLOOR 函数的语法,它对表格的列很有用:

SELECT FLOOR(int_column_name) AS alias_name FROM emp_tbl;

在以上语法中,我们必须传入表格中要执行 FLOOR() 函数的整数列号。

示例

在以下示例中,我们演示了 FLOOR() 函数,并对小数 1.5 进行取整:

SELECT
   FLOOR(1.5) as FLOOR_VALUE;

输出

当我们执行以上 SQL 查询时,我们将得到 1.5 的最近整数值,即 1。

+-------------+
| FLOOR_VALUE |
+-------------+
|           1 |
+-------------+

示例

在以下示例中,我们向 FLOOR() 函数指定了一个数字,即 10.9。

SELECT FLOOR(10.9) as 'floor_of_10.9';

输出

以下是以上 SQL 查询的输出。我们将得到 10,因为 floor 始终返回小于或等于指定值的最大的整数。

+---------------+
| floor_of_10.9 |
+---------------+
|            10 |
+---------------+

示例

在以下示例中,我们使用 sales 表来获取 productname 和 cusstomername,并执行 FLOOR() 函数。在这里,我们计算 sales 表中 price 列的 floor 值。

让我们创建一个名为 sales 的表:

CREATE TABLE sales (
   ProductName VARCHAR(255),
   CustomerName VARCHAR(255),
   Price DECIMAL(18,3),
   Location VARCHAR(255)
);

让我们向表中插入一些数据:

insert into sales values('Key-Board', 'Raja', 900.56, 'Hyderabad');
insert into sales values('Earphones', 'Roja', 2000.33, 'Vishakhapatnam');
insert into sales values('Mouse', 'Puja', 1500.66, 'Vijayawada');
insert into sales values('Mobile', 'Vanaja' , 9000.95, 'Chennai');
insert into sales values('Headset', 'Jalaja' , 6000.99, 'Goa');

让我们获取表详细信息。

SELECT * FROM sales;

以下是 sales 表:

+-------------+--------------+--------+----------------+
| ProductName | CustomerName |  Price | Location       |
+-------------+--------------+--------+----------------+
| Key-Board   | Raja         | 900.56 | Hyderabad      |
| Earphones   | Roja         |2000.33 | Vishakhapatnam |
| Mouse       | Puja         |1500.66 | Vijayawada     |
| Mobile      | Vanaja       |9000.95 | Chennai        |
| Headset     | Jalaja       |6000.99 | Goa            |
+-------------+--------------+--------+----------------+

以下是获取详细信息并在 Price 列上计算 floor 值的 SQL 查询:

SELECT
   ProductName, CustomerName,
   FLOOR(Price) as floor_value
   FROM sales;

输出

以下是以上查询的输出:

+-------------+--------------+-------------+
| ProductName | CustomerName | floor_value |
+-------------+--------------+-------------+
| Key-Board   | Raja         |         900 |
| Earphones   | Roja         |        2000 |
| Mouse       | Puja         |        1500 |
| Mobile      | Vanaja       |        9000 |
| Headset     | Jalaja       |        6000 |
+-------------+--------------+-------------+
sql-numeric-functions.htm
广告