CEIL和FLOOR函数查询(Oracle,MSSQL)
CEIL(n)函数:取大于等于数值n的最小整数
--在Oracle 9i中
SELECT mgr,mgr/100,CEIL(mgr/100) FROM scott.emp;
--结果:
MGR MGR/100 CEIL(MGR/100)
---------- ---------- -------------
7902 79.02 80
7698 76.98 77
7698 76.98 77
7839 78.39 79
7698 76.98 77
7839 78.39 79
7839 78.39 79
7566 75.66 76
7698 76.98 77
7788 77.88 78
MGR MGR/100 CEIL(MGR/100)
---------- ---------- -------------
7698 76.98 77
7566 75.66 76
7782 77.82 78
已选择14行。
--在MSSQL 2005中
CREATE TABLE #Test(X numeric(20,1))
INSERT INTO #Test
SELECT 61.3 UNION ALL
SELECT 132.2 UNION ALL
SELECT 22.7 UNION ALL
SELECT 11.8
SELECT ceiling(X) FROM #Test --在MSSQL中CEIL写成CEILING。
DROP TABLE #Test
/*--结果
---
62
133
23
12
*/
FLOOR(n)函数:取小于等于数值n的最大整数
--在Oracle 9i中
SELECT mgr,mgr/100,FLOOR(mgr/100) FROM scott.emp;
--结果:
MGR MGR/100 FLOOR(MGR/100)
---------- ---------- --------------
7902 79.02 79
7698 76.98 76
7698 76.98 76
7839 78.39 78
7698 76.98 76
7839 78.39 78
7839 78.39 78
7566 75.66 75
7698 76.98 76
7788 77.88 77
MGR MGR/100 FLOOR(MGR/100)
---------- ---------- --------------
7698 76.98 76
7566 75.66 75
7782 77.82 77
已选择14行。
--在MSSQL 2005中
CREATE TABLE #Test(X numeric(20,1))
INSERT INTO #Test
SELECT 61.3 UNION ALL
SELECT 132.2 UNION ALL
SELECT 22.7 UNION ALL
SELECT 11.8
SELECT FLOOR(X) FROM #Test --函数名一样。
DROP TABLE #Test
/*--结果
---
61
132
22
11
*/