本文将介绍PostgreSQL一部分常用的内置函数,作为记录,便于日常学习及查阅。
PostgreSQL是一个功能强大的关系型数据库管理系统,它提供了许多内置函数,可以方便地处理数据和进行计算。以下是一些PostgreSQL内置函数的介绍及其用途。
- SUBSTRING(string, startpos, length):返回从字符串指定位置开始的指定长度的子字符串。例如:SELECT SUBSTRING('PostgreSQL rocks', 2, 7),返回的结果为"stgreSQL",注意下标是从1开始。
- CONCAT(string1, string2):连接两个字符串。例如:SELECT CONCAT('Post', 'greSQL'),返回的结果为"PostgreSQL"。
- LENGTH(string):返回字符串的长度。例如:SELECT LENGTH('PostgreSQL'),返回的结果为9。
- LPAD(string,length[,fill_text]):左侧字符填充函数,如果长度不够指定长度,就在左侧填充字符串,如果长度超出了指定长度,就把右边截掉。
- REPLACE(string, old_value, new_value):将字符串中的旧值替换为新值。例如:SELECT REPLACE('This is a string', 'is', 'at'), 返回的结果为"That at a string"。
- UPPER(string):将字符串转换为大写。例如:SELECT UPPER('PostgreSQL'), 返回的结果为"POSTGRESQL"。
- LOWER(string):将字符串转换为小写。例如:SELECT LOWER('PostgreSQL'), 返回的结果为"postgresql"。
- ROUND(number, decimal_places):四舍五入保留指定小数位数的数字。例如:SELECT ROUND(3.14159, 2), 返回的结果为3.14。
- COALESCE(value1, value2):返回第一个非空的值。例如:SELECT COALESCE(NULL, 'PostgreSQL'), 返回的结果为"PostgreSQL"。
- DATE_PART(part, date):返回指定日期部分的值(如年、月、日、小时等)。例如:SELECT DATE_PART('year', '2020-01-01'), 返回的结果为2020。
- DATE_TRUNC(part, date):将日期截断为指定部分的值(如年、月、日、小时等)。例如:SELECT DATE_TRUNC('hour', '2020-01-01 12:34:56'), 返回的结果为"2020-01-01 12:00:00"。
- EXTRACT(field FROM timestamp):从时间戳中提取指定字段的值(如年、月、日、小时等)。例如:SELECT EXTRACT(year FROM '2020-01-01'), 返回的结果为2020。
- NOW():返回当前日期和时间。例如:SELECT NOW(), 返回的结果为当前日期和时间。
- RANDOM():生成一个随机数。例如:SELECT RANDOM(), 返回的结果为0.123456789(一个介于0和1之间的随机小数)。
- ARRAY_AGG(expression):将表达式的结果作为数组聚合。例如:SELECT ARRAY_AGG(column1) FROM table1,返回的结果为column1的值的数组。
- STRING_AGG(expression, delimiter): 使用特定分隔符将表达式的结果拼接为单个字符串。
- REGEXP_MATCH(string, pattern): 将字符串与正则表达式模式进行匹配。
- MD5(string): 返回字符串的MD5哈希值。
- TO_DATE(string, format): 将字符串转换为日期值,或者“::date”转换成日期对象。
- AGE(date1, date2): 计算两个日期之间的时间差。
- INTERVAL(num, unit): 创建一个基于数字和时间单位的时间间隔。例如,INTERVAL '1 day'表示1天,INTERVAL '1 hour'表示1小时。
- TRUNC(num, decimal_places): 将数字截断为指定的小数位数。
- MOD(num1, num2): 返回两个数字的模数。
- ABS(num): 返回指定数字的绝对值。
- LOG(num): 返回指定数字的自然对数。
- GREATEST(value1, value2): 返回值列表中的最大值。
- LEAST(value1, value2): 返回值列表中的最小值。
- CAST(value AS type): 将值转换为指定类型。
- TO_NUMERIC(string, format): 将字符串转换为数字。
- TO_CHAR(value, format): 将值转换为指定格式的字符串。
- TO_DATE(string, format): 将字符串转换为日期值。
- TO_BOOLEAN(string): 将字符串转换为布尔值。
- TO_HEX(number): 将数值转换为十六进制字符串。
以上只列举了平常开发中经常用到的内置函数,其它本文不再一一列举,更丰富的文档查阅地址附上:
https://www.sjkjc.com/postgresql-ref/string-functions/
欢迎大家交流!