SQL CEILING() 函数
SQL CEILING() 函数接受一个数值作为参数,并返回大于或等于该值的最小整数值(最接近负无穷大)。
换句话说,上取整函数([x])根据参数返回一个数字的上限值。从数学上讲,这种方法与近似现象不同,因为上取整函数完全忽略小数点后出现的数字。
例如,[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.
让我们将r值插入其中−
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 |
+----------+-----+----------+------------+