PostgreSQL 提供了丰富的内置函数,这些函数可以用于执行各种任务,包括数学运算、字符串处理、日期和时间操作、聚合等。以下是一些常见的 PostgreSQL 函数:

1. 数学函数:

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

  
  SELECT ABS(-5);  -- 返回 5

  •  ROUND(x, d): 返回 x 的四舍五入到小数点后 d 位的值。

  SELECT ROUND(3.14159, 2);  -- 返回 3.14

2. 字符串函数:

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

  SELECT CONCAT('Hello', ' ', 'World');  -- 返回 'Hello World'

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

  SELECT UPPER('hello');  -- 返回 'HELLO'

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

  SELECT LOWER('WORLD');  -- 返回 'world'

3. 日期和时间函数:

  •  CURRENT_DATE: 返回当前日期。

  SELECT CURRENT_DATE;  -- 返回当前日期

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

  SELECT NOW();  -- 返回当前日期和时间

  •  DATE_TRUNC(unit, date): 将日期截断到指定的单位。

  SELECT DATE_TRUNC('hour', NOW());  -- 返回当前小时的开始时间

4. 聚合函数:

  •  SUM(column): 计算列值的总和。

  SELECT SUM(sales) FROM transactions;

  •  AVG(column): 计算列值的平均值。

  SELECT AVG(price) FROM products;

5. 条件函数:

  •  CASE: 在查询中执行条件逻辑。

  SELECT
    CASE
      WHEN score >= 90 THEN 'A'
      WHEN score >= 80 THEN 'B'
      ELSE 'C'
    END AS grade
  FROM student_scores;

6. 数组函数:

  •  ARRAY_AGG(expression): 将行中的表达式聚合为数组。

  SELECT department, ARRAY_AGG(employee_name) AS employees
  FROM employees
  GROUP BY department;

7. 窗口函数:

  •  ROW_NUMBER() OVER (PARTITION BY column ORDER BY column): 返回分区内行的序号。

  SELECT
    employee_name,
    salary,
    ROW_NUMBER() OVER (PARTITION BY department ORDER BY salary DESC) AS rank
  FROM employees;

这只是一小部分 PostgreSQL 内置函数的示例。你可以在 PostgreSQL 文档中找到完整的函数列表以及它们的用法和说明。


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