PostgreSQL 内置函数也称为聚合函数,用于对字符串或数字数据执行处理。
下面是所有通用 PostgreSQL 内置函数的列表:
- COUNT 函数:用于计算数据库表中的行数。
- MAX 函数:用于查询某一特定列中最大值。
- MIN 函数:用于查询某一特定列中最小值。
- AVG 函数:用于计算某一特定列中平均值。
- SUM 函数:用于计算数字列所有值的总和。
- ARRAY 函数:用于输入值添加到数组中。
- Numeric 函数:完整列出一个 SQL 中所需的操作数的函数。
- String 函数:完整列出一个 SQL 中所需的操作字符的函数。
下面是PostgreSQL中提供的数学函数列表,需要说明的是,这些函数中有许多都存在多种形式,区别只是参数类型不同。除非特别指明,任何特定形式的函数都返回和它的参数相同的数据类型。
函数 | 返回类型 | 描述 | 例子 | 结果 |
---|
abs | 绝对值 | abs | 17.4 | |
cbrt | 立方根 | cbrt | 3 | |
ceil | 不小于参数的最小的整数 | ceil | -42 | |
degrees | 把弧度转为角度 | degrees | 28.6478897565412 | |
exp | 自然指数 | exp | 2.71828182845905 | |
floor | 不大于参数的最大整数 | floor | -43 | |
ln | 自然对数 | ln | 0.693147180559945 | |
log | 10为底的对数 | log | 2 | |
log | numeric | 指定底数的对数 | log | 6.0000000000 |
mod | 取余数 | mod | 1 | |
pi | double | "π"常量 | pi | 3.14159265358979 |
power | double | 求a的b次幂 | power | 729 |
power | numeric | 求a的b次幂 | power | 729 |
radians | double | 把角度转为弧度 | radians | 0.785398163397448 |
random | double | 0.0到1.0之间的随机数值 | random | |
round | 圆整为最接近的整数 | round | 42 | |
round | numeric | 圆整为s位小数数字 | round | 42.44 |
sign | 参数的符号 | sign | -1 | |
sqrt | 平方根 | sqrt | 1.4142135623731 | |
trunc | 截断 | trunc | 42 | |
trunc | numeric | 截断为s小数位置的数字 | trunc | 42.43 |
三角函数列表
函数 | 描述 |
---|
acos | 反余弦 |
asin | 反正弦 |
atan | 反正切 |
atan2 | 正切 y/x 的反函数 |
cos | 余弦 |
cot | 余切 |
sin | 正弦 |
tan | 正切 |
下面是 PostgreSQL 中提供的字符串操作符列表:
函数 | 返回类型 | 描述 | 例子 | 结果 |
---|
string 丨丨 string | text | 字串连接 | 'Post' 丨丨 'greSQL' | PostgreSQL |
bit_length | int | 字串里二进制位的个数 | bit_length | 32 |
char_length | int | 字串中的字符个数 | char_length | 4 |
convert | text | 使用指定的转换名字改变编码。 | convert | 'PostgreSQL' |
lower | text | 把字串转化为小写 | lower | tom |
octet_length | int | 字串中的字节数 | octet_length | 4 |
overlay | text | 替换子字串 | overlay | Thomas |
position | int | 指定的子字串的位置 | position | 3 |
substring | text | 抽取子字串 | substring | hom |
substring | text | 抽取匹配 POSIX 正则表达式的子字串 | substring | mas |
substring | text | 抽取匹配SQL正则表达式的子字串 | substring | oma |
trim | text | 从字串string的开头/结尾/两边/ 删除只包含characters的最长的字串 | trim | Tom |
upper | text | 把字串转化为大写。 | upper | TOM |
ascii | int | 参数第一个字符的ASCII码 | ascii | 120 |
btrim | text | 从string开头和结尾删除只包含在characters里的字符的最长字串 | btrim | trim |
chr | text | 给出ASCII码的字符 | chr | A |
convert | text | 把字串转换为dest_encoding | convert | 以ISO 8859-1编码表示的text_in_utf8 |
initcap | text | 把每个单词的第一个子母转为大写,其它的保留小写。单词是一系列字母数字组成的字符,用非字母数字分隔。 | initcap | Hi Thomas |
length | int | string中字符的数目 | length | 4 |
lpad | text | 通过填充字符fill,把string填充为长度length。 如果string已经比length长则将其截断。 | lpad | xyxhi |
ltrim | text | 从字串string的开头删除只包含characters的最长的字串。 | ltrim | trim |
md5 | text | 计算给出string的MD5散列,以十六进制返回结果。 | md5 | |
repeat | text | 重复string number次。 | repeat | PgPgPgPg |
replace | text | 把字串string里出现地所有子字串from替换成子字串to。 | replace | abXXefabXXef |
rpad | text | 通过填充字符fill,把string填充为长度length。如果string已经比length长则将其截断。 | rpad | hixyx |
rtrim | text | 从字串string的结尾删除只包含character的最长的字 | rtrim | trim |
split_part | text | 根据delimiter分隔string返回生成的第field个子字串。 | split_part | def |
strpos | text | 声明的子字串的位置。 | strpos | 2 |
substr | text | 抽取子字串。 | substr | ph |
to_ascii | text | 把text从其它编码转换为ASCII。 | to_ascii | Karel |
to_hex | text | 把number转换成其对应地十六进制表现形式。 | to_hex | 7fffffffffffffff |
translate | text | 把在string中包含的任何匹配from中的字符的字符转化为对应的在to中的字符。 | translate | a23x5 |
类型转换相关函数
函数 | 返回类型 | 描述 | 实例 |
---|
to_char | text | 将时间戳转换为字符串 | to_char |
to_char | text | 将时间间隔转换为字符串 | to_char |
to_char | text | 整型转换为字符串 | to_char |
to_char | text | 双精度转换为字符串 | to_char |
to_char | text | 数字转换为字符串 | to_char |
to_date | date | 字符串转换为日期 | to_date |
to_number | numeric | 转换字符串为数字 | to_number |
to_timestamp | timestamp | 转换为指定的时间格式 time zone convert string to time stamp | to_timestamp |
to_timestamp | timestamp | 把UNIX纪元转换成时间戳 | to_timestamp |
end
微信搜索:嘀嗒运维
有惊喜!