FLOOR
将返回值向下舍入为前一个整数。例如,给定实参 5.01 和 5.99,FLOOR 返回 5。FLOOR 与 CEILING 相对,它向上舍入返回值。
行为类型
不可变语法
FLOOR ( expression )
参数
- 表达式
- 解析为 INTEGER 或 DOUBLE PRECISION 值。
示例
=> SELECT FLOOR((TIMESTAMP '2005-01-17 10:00' - TIMESTAMP '2005-01-01') / INTERVAL '7');
FLOOR
-------
2
(1 row)
=> SELECT FLOOR(-42.8);
FLOOR
-------
-43
(1 row)
=> SELECT FLOOR(42.8);
FLOOR
-------
42
(1 row)
虽然以下示例看似 INTEGER,但左侧的数字为 INTEGER (2^49),而右侧的数字为 FLOAT:
=> SELECT 1<<49, FLOOR(1 << 49);
?column? | floor
-----------------+-----------------
562949953421312 | 562949953421312
(1 row)
将前一示例与以下示例进行比较:
=> SELECT 1<<50, FLOOR(1 << 50);
?column? | floor
------------------+----------------------
1125899906842624 | 1.12589990684262e+15
(1 row)