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
廣告