SQL - CEILING() 函数



SQL CEILING() 函数接受一个数值作为参数,并返回大于或等于该值的最小(最接近负无穷大)整数。

换句话说,ceiling 函数 ([x]) 返回作为参数给出的数字的上限值。从数学上讲,此方法与近似现象不同,因为 ceiling 函数完全忽略小数点后的数字。

例如,[2.4] = 3,因为大于 2.4 的最小整数是 3。类似地,[-1.3] 将等于 -1。

语法

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

CEILING(x)

其中,x 是我们需要求其上界的数值。

示例

在下面的示例中,我们尝试将正值作为参数传递给 CEILING() 函数:

SELECT CEILING(22.3) 
AS ceil

运行上述程序后,将产生以下结果:

+-------+
| ceil  |
+-------+
| 23    |
+-------+

示例

在下面给出的示例中,我们尝试将负值作为参数传递给 CEILING() 函数:

SELECT CEILING(-105.0238) 
AS ceil

以下是上述代码的输出:

+-------+
| ceil  |
+-------+
| -105  |
+-------+

示例

我们还可以将数学常数 PI 作为参数传递给此函数,它将返回其等效的上界值。

SELECT CEILING(PI()) 
AS ceil

我们知道 pi 的值为 3.14,因此其上界值为 4,如下面的输出所示:

+-------+
| ceil  |
+-------+
| 4     |
+-------+

示例

我们还可以将数值作为字符串传递给此函数,如下面的示例所示:

SELECT CEILING('763.872') 
AS ceil

上述代码的输出如下:

+-------+
| ceil  |
+-------+
| 764   |
+-------+

示例

假设我们创建了一个名为 CUSTOMERS 的表,如下所示:

create table CUSTOMERS(ID INT NOT NULL, 
NAME VARCHAR(20) NOT NULL, 
AGE INT NOT NULL, 
ADDRESS CHAR(25), 
SALARY DECIMAL(18, 2), 
PRIMARY KEY(ID));
Commands completed successfully.

让我们向其中插入一些值:

insert INTO CUSTOMERS VALUES(1, 'Ramesh', 32, 'Ahmedabad', 2076.432);
insert INTO CUSTOMERS VALUES(2, 'Khilan', 25, 'Delhi', 1543.987);
insert INTO CUSTOMERS VALUES(3, 'kaushik', 23, 'Kota', 20321.04);
insert INTO CUSTOMERS VALUES(4, 'Chaitali', 25, 'Mumbai', 6509.45);
insert INTO CUSTOMERS VALUES(5, 'Hardik', 27, 'Bhopal', 8505.55);
insert INTO CUSTOMERS VALUES(6, 'Komal', 22, 'MP', 4500.00);
insert INTO CUSTOMERS VALUES(7, 'Muffy', 24, 'Indore', 10000.00);

以下查询计算所有客户工资的上界值:

SELECT NAME,AGE,SALARY, 
CEILING(SALARY) 
AS ceilSalary
FROM customers;

产生的结果如下:

+----------+-----+----------+------------+
| NAME     | AGE | SALARY   | ceilSalary |
+----------+-----+----------+------------+
| Ramesh   |  32 |  2000.00 | 2077       |
| Khilan   |  25 |  1500.00 | 1544       |
| kaushik  |  23 |  2000.00 | 20322      |
| Chaitali |  25 |  6500.00 | 6510       |
| Hardik   |  27 |  8500.00 | 8506       |
| Komal    |  22 |  4500.00 | 4500       |
| Muffy    |  24 | 10000.00 | 10000      |
+----------+-----+----------+------------+
sql-numeric-functions.htm
广告