七月 6, 2024
摘要:在本教程中,您将学习如何使用 PostgreSQL DIV()
函数,执行整数除法。
目录
PostgreSQL DIV 函数简介
DIV()
函数是执行整数除法的有用工具。与返回浮点数结果的除法运算符(/
)不同,DIV()
函数返回一个整数商。
下面是DIV()
函数的基本语法:
DIV(dividend, divisor)
在此语法中:
dividend
是要被除的数字。divisor
是要除以的数字。
DIV()
函数返回除法的整数商。
PostgreSQL DIV 函数示例
让我们来探索一些使用DIV()
函数的示例。
1) 基本 DIV 函数示例
下面使用DIV()
函数,返回 10 除以 3 的结果:
SELECT DIV(10,3) as result;
输出:
result
--------
3
(1 row)
结果是 3。
与常规除法不同,DIV()
函数会截断结果的任何小数部分,并且只返回整数部分。
2) 将数据分组到桶中
您可以使用DIV()
函数将数值数据分组到桶中。例如,您可以将样例数据库的film
表中的电影,分组到 30 分钟的桶中:
SELECT
title,
DIV(length, 30) * 30 as bin
FROM
film
GROUP BY
bin,
title
ORDER BY
title;
输出:
title | bin
-----------------------------+-----
Academy Dinosaur | 60
Ace Goldfinger | 30
Adaptation Holes | 30
Affair Prejudice | 90
African Egg | 120
Agent Truman | 150
Airplane Sierra | 60
...
在此示例中,我们将电影的长度分组到了 30 分钟的桶中。
3) 使用 PostgreSQL DIV 函数计算年龄
首先,创建一个新表,名为employees
,并在其中插入一些数据:
CREATE TABLE employees (
id SERIAL PRIMARY KEY,
name VARCHAR(255) NOT NULL,
birthdate DATE NOT NULL
);
INSERT INTO employees (name, birthdate)
VALUES
('John Doe', '1990-05-15'),
('Jane Smith', '1985-09-20'),
('Michael Johnson', '1982-03-10'),
('Emily Brown', '1995-11-28')
RETURNING *;
输出:
id | name | birthdate
----+-----------------+------------
1 | John Doe | 1990-05-15
2 | Jane Smith | 1985-09-20
3 | Michael Johnson | 1982-03-10
4 | Emily Brown | 1995-11-28
(4 rows)
第二步,计算每个员工的年龄:
SELECT name, DIV(EXTRACT(YEAR FROM AGE(current_date, birthdate)), 1) AS age
FROM employees;
输出:
name | age
-----------------+-----
John Doe | 33
Jane Smith | 38
Michael Johnson | 41
Emily Brown | 28
(4 rows)
它是如何工作的。
总结
使用 PostgreSQL DIV()
函数执行整数除法。
了解更多
PostgreSQL 教程:数学函数
PostgreSQL 文档:数学函数和操作符