PostgreSQL 常用函数学习笔记

1. string_agg 函数

string_agg(expression, delimiter) 函数将一个表达式(expression)的结果连接成一个字符串,使用指定的分隔符(delimiter)分隔各个结果。

例如:

sqlCopy Code
SELECT string_agg(name, ', ') FROM products;

以上代码将会返回一个字符串,其中包含 products 表中所有 name 列的值,每个值之间用逗号和空格分隔。

2. array_agg 函数

array_agg(expression) 函数将一个表达式(expression)的结果作为一个数组返回。

例如:

sqlCopy Code
SELECT array_agg(name) FROM products;

以上代码将会返回一个只有一个元素的数组,该元素是 products 表中所有 name 列的值。

3. date_trunc 函数

date_trunc(unit, timestamp) 函数将一个时间戳(timestamp)截断到指定的精度(unit)。

例如:

sqlCopy Code
SELECT date_trunc('hour', created_at) FROM orders;

以上代码将会返回一个只包含订单创建时间(created_at)小时部分的时间戳。

4. round 函数

round(number, precision) 函数将一个数字(number)四舍五入到指定的精度(precision)。

例如:

sqlCopy Code
SELECT round(total, 2) FROM orders;

以上代码将会返回一个只包含订单总额(total)小数点后两位的数字。

5. substring 函数

substring(string, from, to) 函数从一个字符串(string)中取出指定位置(from 和 to)的子串。

例如:

sqlCopy Code
SELECT substring(description, 1, 10) FROM products;

以上代码将会返回一个只包含商品描述(description)前 10 个字符的子串。

6. concat 函数

concat(string1, string2) 函数将两个字符串(string1 和 string2)连接成一个字符串。

例如:

sqlCopy Code
SELECT concat(first_name, ' ', last_name) FROM users;

以上代码将会返回一个只包含用户姓名(first_name 和 last_name)的字符串,两个名字之间以空格分隔。