PostgreSQL 提供了许多内置函数,用于执行各种操作,包括数学运算、字符串操作、日期和时间操作等。以下是一些 PostgreSQL 中常用的函数:

1. 数学函数:

  •  ABS(x): 返回 x 的绝对值。

  SELECT ABS(-5) AS absolute_value;

  •  ROUND(x [, d]): 将 x 四舍五入为 d 位小数。

  SELECT ROUND(123.456, 2) AS rounded_number;

  •  CEIL(x) 或 CEILING(x): 返回大于或等于 x 的最小整数。

  SELECT CEIL(4.75) AS ceiling_value;

  •  FLOOR(x): 返回小于或等于 x 的最大整数。

  SELECT FLOOR(4.75) AS floor_value;

2. 字符串函数:

  •  CONCAT(string1, string2): 连接两个字符串。

  SELECT CONCAT('Hello', ' ', 'World') AS result;

  •  LENGTH(string): 返回字符串的字符数。

  SELECT LENGTH('PostgreSQL') AS string_length;

  •  UPPER(string): 将字符串转换为大写。

  SELECT UPPER('postgresql') AS uppercase_string;

  •  LOWER(string): 将字符串转换为小写。

  SELECT LOWER('PostgreSQL') AS lowercase_string;

3. 日期和时间函数:

  •  NOW(): 返回当前日期和时间。

  SELECT NOW() AS current_datetime;

  •  DATE_TRUNC(unit, source): 截断日期或时间。

  SELECT DATE_TRUNC('hour', '2022-01-01 12:34:56'::TIMESTAMP) AS truncated_datetime;

  •  EXTRACT(field FROM source): 从日期或时间中提取特定部分。

  SELECT EXTRACT(YEAR FROM '2022-01-01'::DATE) AS extracted_year;

4. 聚合函数:

  •  SUM(x): 返回指定列的总和。

  SELECT SUM(salary) AS total_salary FROM employees;

  •  AVG(x): 返回指定列的平均值。

  SELECT AVG(salary) AS average_salary FROM employees;

  •  COUNT(x): 返回指定列的行数。

  SELECT COUNT(*) AS total_rows FROM employees;

  •  MAX(x): 返回指定列的最大值。

  SELECT MAX(salary) AS max_salary FROM employees;

  •  MIN(x): 返回指定列的最小值。

  SELECT MIN(salary) AS min_salary FROM employees;

5. 条件函数:

  •  CASE WHEN condition THEN result ELSE else_result END: 类似于 switch 语句,根据条件返回不同的结果。

  SELECT
      CASE 
          WHEN age > 18 THEN 'Adult'
          ELSE 'Minor'
      END AS age_group
  FROM people;

  •  COALESCE(x, y, ...): 返回参数列表中的第一个非空值。

  SELECT COALESCE(column1, column2, 'N/A') AS result FROM my_table;

这些是一些 PostgreSQL 中常用的函数,涵盖了数学、字符串、日期、时间、聚合和条件等多个领域。根据具体的需求,你可以选择合适的函数来进行操作和计算。


转载请注明出处:http://www.zyzy.cn/article/detail/14156/PostgreSQL