PostgreSQL 有很多常用函数,以下是一些常见的:
一、字符串函数
-
concat(str1, str2,...)
:连接多个字符串。- 示例:
SELECT concat('Hello', ' ', 'World');
返回Hello World
。
- 示例:
-
length(str)
:返回字符串的长度。- 示例:
SELECT length('PostgreSQL');
返回 10。
- 示例:
-
upper(str)
/lower(str)
:将字符串转换为大写/小写。- 示例:
SELECT upper('hello');
返回HELLO
。
- 示例:
-
substring(str, start, length)
:提取字符串的子串。- 示例:
SELECT substring('PostgreSQL', 5, 4);
返回SQL
。
- 示例:
二、数学函数
-
abs(n)
:返回数字的绝对值。- 示例:
SELECT abs(-10);
返回 10。
- 示例:
-
sqrt(n)
:返回数字的平方根。- 示例:
SELECT sqrt(25);
返回 5。
- 示例:
-
round(n)
:将数字四舍五入到最接近的整数。- 示例:
SELECT round(3.14);
返回 3。
- 示例:
-
mod(m, n)
:返回 m 除以 n 的余数。- 示例:
SELECT mod(10, 3);
返回 1。
- 示例:
三、日期和时间函数
-
current_date
:返回当前日期。- 示例:
SELECT current_date;
返回类似2024-10-11
的日期。
- 示例:
-
current_time
/current_timestamp
:返回当前时间/时间戳。- 示例:
SELECT current_time;
返回类似12:34:56.789
的时间。
- 示例:
-
extract(field from timestamp)
:从时间戳中提取特定部分,如年、月、日等。- 示例:
SELECT extract(year from current_timestamp);
返回当前年份。
- 示例:
-
age(timestamp)
:计算两个时间戳之间的时间差,以年、月、日的形式表示。- 示例:
SELECT age('2020-01-01', current_date);
返回从 2020 年 1 月 1 日到当前日期的时间差。
- 示例:
四、聚合函数
-
count(*)
/count(column)
:计算行数或非空值的数量。- 示例:
SELECT count(*) FROM table_name;
返回表中的行数。
- 示例:
-
sum(column)
:计算指定列的总和。- 示例:
SELECT sum(amount) FROM transactions;
返回交易金额总和。
- 示例:
-
avg(column)
:计算指定列的平均值。- 示例:
SELECT avg(salary) FROM employees;
返回员工平均工资。
- 示例:
-
max(column)
/min(column)
:返回指定列的最大值/最小值。- 示例:
SELECT max(price) FROM products;
返回产品的最高价格。
- 示例: