添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
淡定的盒饭  ·  ASP.NET 核心 Blazor ...·  1 月前    · 
傻傻的馒头  ·  STRING_SPLIT ...·  1 月前    · 
犯傻的黄豆  ·  Branches API | GitLab ...·  4 周前    · 
寂寞的山楂  ·  Sharepoint2019 Unable ...·  1 年前    · 
自信的凳子  ·  在SQL ...·  2 年前    · 
ARRAY 函数:用于输入值(包括null)添加到数组中。
  • Numeric 函数:完整列出一个 SQL 中所需的操作数的函数。
  • String 函数:完整列出一个 SQL 中所需的操作字符的函数。
  • 下面是PostgreSQL中提供的数学函数列表,需要说明的是,这些函数中有许多都存在多种形式,区别只是参数类型不同。除非特别指明,任何特定形式的函数都返回和它的参数相同的数据类型。

    abs(x) abs(-17.4) cbrt(double) cbrt(27.0) ceil(double/numeric) 不小于参数的最小的整数 ceil(-42.8) degrees(double) 把弧度转为角度 degrees(0.5) 28.6478897565412 exp(double/numeric) exp(1.0) 2.71828182845905 floor(double/numeric) 不大于参数的最大整数 floor(-42.8) ln(double/numeric) ln(2.0) 0.693147180559945 log(double/numeric) 10为底的对数 log(100.0) log(b numeric,x numeric) numeric 指定底数的对数 log(2.0, 64.0) 6.0000000000 mod(y, x) mod(9,4) double "π"常量 3.14159265358979 power(a double, b double) double 求a的b次幂 power(9.0, 3.0) power(a numeric, b numeric) numeric 求a的b次幂 power(9.0, 3.0) radians(double) double 把角度转为弧度 radians(45.0) 0.785398163397448 random() double 0.0到1.0之间的随机数值 random() round(double/numeric) 圆整为最接近的整数 round(42.4) round(v numeric, s int) numeric 圆整为s位小数数字 round(42.438,2) 42.44 sign(double/numeric) 参数的符号(-1,0,+1) sign(-8.4) sqrt(double/numeric) sqrt(2.0) 1.4142135623731 trunc(double/numeric) 截断(向零靠近) trunc(42.8) trunc(v numeric, s int) numeric 截断为s小数位置的数字 trunc(42.438,2) 42.43

    三角函数列表

    acos(x) asin(x) atan(x) atan2(x, y) 正切 y/x 的反函数 cos(x) cot(x) sin(x) tan(x)

    字符串函数和操作符

    下面是 PostgreSQL 中提供的字符串操作符列表:

    string || string 'Post' 丨丨 'greSQL' PostgreSQL bit_length(string) 字串里二进制位的个数 bit_length('jose') char_length(string) 字串中的字符个数 char_length('jose') convert(string using conversion_name) 使用指定的转换名字改变编码。 convert('PostgreSQL' using iso_8859_1_to_utf8) 'PostgreSQL' lower(string) 把字串转化为小写 lower('TOM') octet_length(string) 字串中的字节数 octet_length('jose') overlay(string placing string from int [for int]) 替换子字串 overlay('Txxxxas' placing 'hom' from 2 for 4) Thomas position(substring in string) 指定的子字串的位置 position('om' in 'Thomas') substring(string [from int] [for int]) 抽取子字串 substring('Thomas' from 2 for 3) substring(string from pattern) 抽取匹配 POSIX 正则表达式的子字串 substring('Thomas' from '…$') substring(string from pattern for escape) 抽取匹配SQL正则表达式的子字串 substring('Thomas' from '%#"o_a#"_' for '#') trim([leading丨trailing 丨 both] [characters] from string) 从字串string的开头/结尾/两边/ 删除只包含characters(默认是一个空白)的最长的字串 trim(both 'x' from 'xTomxx') upper(string) 把字串转化为大写。 upper('tom') ascii(text) 参数第一个字符的ASCII码 ascii('x') btrim(string text [, characters text]) 从string开头和结尾删除只包含在characters里(默认是空白)的字符的最长字串 btrim('xyxtrimyyx','xy') chr(int) 给出ASCII码的字符 chr(65) convert(string text, [src_encoding name,] dest_encoding name) 把字串转换为dest_encoding convert( 'text_in_utf8', 'UTF8', 'LATIN1') 以ISO 8859-1编码表示的text_in_utf8 initcap(text) 把每个单词的第一个子母转为大写,其它的保留小写。单词是一系列字母数字组成的字符,用非字母数字分隔。 initcap('hi thomas') Hi Thomas length(string text) string中字符的数目 length('jose') lpad(string text, length int [, fill text]) 通过填充字符fill(默认为空白),把string填充为长度length。 如果string已经比length长则将其截断(在右边)。 lpad('hi', 5, 'xy') xyxhi ltrim(string text [, characters text]) 从字串string的开头删除只包含characters(默认是一个空白)的最长的字串。 ltrim('zzzytrim','xyz') md5(string text) 计算给出string的MD5散列,以十六进制返回结果。 md5('abc') repeat(string text, number int) 重复string number次。 repeat('Pg', 4) PgPgPgPg replace(string text, from text, to text) 把字串string里出现地所有子字串from替换成子字串to。 replace('abcdefabcdef', 'cd', 'XX') abXXefabXXef rpad(string text, length int [, fill text]) 通过填充字符fill(默认为空白),把string填充为长度length。如果string已经比length长则将其截断。 rpad('hi', 5, 'xy') hixyx rtrim(string text [, character text]) 从字串string的结尾删除只包含character(默认是个空白)的最长的字 rtrim('trimxxxx','x') split_part(string text, delimiter text, field int) 根据delimiter分隔string返回生成的第field个子字串(1 Base)。 split_part('abc~@~def~@~ghi', '~@~', 2) strpos(string, substring) 声明的子字串的位置。 strpos('high','ig') substr(string, from [, count]) 抽取子字串。 substr('alphabet', 3, 2) to_ascii(text [, encoding]) 把text从其它编码转换为ASCII。 to_ascii('Karel') Karel to_hex(number int/bigint) 把number转换成其对应地十六进制表现形式。 to_hex(9223372036854775807) 7fffffffffffffff translate(string text, from text, to text) 把在string中包含的任何匹配from中的字符的字符转化为对应的在to中的字符。 translate('12345', '14', 'ax') a23x5

    类型转换相关函数

    to_char(timestamp, text) 将时间戳转换为字符串 to_char(current_timestamp, 'HH12:MI:SS') to_char(interval, text) 将时间间隔转换为字符串 to_char(interval '15h 2m 12s', 'HH24:MI:SS') to_char(int, text) 整型转换为字符串 to_char(125, '999') to_char(double precision, text) 双精度转换为字符串 to_char(125.8::real, '999D9') to_char(numeric, text) 数字转换为字符串 to_char(-125.8, '999D99S') to_date(text, text) 字符串转换为日期 to_date('05 Dec 2000', 'DD Mon YYYY') to_number(text, text) numeric 转换字符串为数字 to_number('12,454.8-', '99G999D9S') to_timestamp(text, text) timestamp 转换为指定的时间格式 time zone convert string to time stamp to_timestamp('05 Dec 2000', 'DD Mon YYYY') to_timestamp(double precision) timestamp 把UNIX纪元转换成时间戳 to_timestamp(1284352323)