PostgreSQL 常用函数

PostgreSQL内置函数也称为聚合函数,用于对字符串或数字数据执行处理。下面是所有通用PostgreSQL内置函数的列表:COUNT 函数:用于计算数据库表中的行数。MAX 函数:用于查询某一特定列中最大值。MIN 函数:用于查询某一特定列中最小值。AVG 函数:用于计算某一特定列中平均值。SUM 函数:用于计算数字列所有值的总和。ARRAY 函数:用于输入值(包括null)添加到数组中。Numeric 函数:完整列出一个SQL中所需的操作数的函数。String 函数:完整列出一个SQL中所需的操作字符的函数。数字函数需要说明的是,这些函数中有许多都存在多种形式,区别只是参数类型不同。除非特别指明,任何特定形式的函数都返回和他的参数相同的数据类型。函数返回类型描述例子结果abs() 绝对值abs(-17.4)17.4cbrt(double) 立方根cbrt(27.0)3ceil(double/numeric) 不小于参数的最小整数ceil(-42.8)-42degrees(double) 把弧度转为角度degrees(0.5)28.6478897565412exp(double/numeric) 自然指数exp(1.0)2.71828182845905floor(double/numeric) 不大于参数的最大整数floor(-42.8)-43ln(double/numeric) 自然对数In(2.0)0.693147180559945log(double/numeric) 10为底的对数log(100,0)2log(b numeric,x numeric)numeric指定底数的对数log(2.0,64.0)6.0000000000mod(y,x) 取余数mod(9,4)1pi()double"TT"常量pi()3.14159265358979power(a double,b double)double求a的b次幂power(9.0,3.0)729Power(a numeric,b numeric)numeric求a的b次幂power(9.0,3.0)729radians(double)double把角度转为弧度radians(45.0)0.785398163397448random()double0.0到1.0之间的随机数值random()round(double/numeric) 圆整为最接近的整数round(42.4)42round(v numeric,s int)numeric圆整为s位小数数字round(42.438,2)42.44sign(double/numeric) 参数的符号(-1,0,+1)sign(-8.4)-1sqrt(double/numeric) 平方根sqrt(2.0)1.4142135623731trunc(double/numeric) 截断(向零靠近)trunc(42.8)42trunc(v numeric,s int)numeric截断为s小数位置的数字trunc(42.438,2)42.43字符串函数和操作符下面是PostgreSQL中提供的字符串操作符列表函数返回类型说明例子结果string || string text字串连接 'Post' || 'greSQL' PostgreSQLbit_length(string) int字串里二进制位的个数 bit_length('netstars') 64char_length(string) int字串中的字符个数 char_length('netstars') 8lower(string) text使用指定的转换名字改变编码。  lower('NETSTARS') netstarsoctet_length(string) int字串中的字节数 octet_length('netstars') 8overlay(string placing string from int for int) text替换子字串 overlay('XXXstars' placing 'net' from 1 for 3) netstarsposition(substring in 'string') int指定的子字串的位置 position('st' in 'netstars') 4substring(string from int for int) text抽取子字串 substring('netstars' from 4 for 8) starsupper(string) text把字串转化为大写。 upper('netstars') NETSTARSascii(text) int参数第一个字符的ASCII码 ascii('n') 110chr(int) text给出ASCII码的字符 chr(int) Aselect initcap(string) text把每个单词的第一个子母转为大写,其它的保留小写。单词是一系列字母数字组成的字符,用非字母数字分隔。 select initcap('net stars')length(string text) intstring中字符的数目 length('netstars core') 13repeat(string text, number int) text重复string number次 repeat('net',  3) netnetnet类型转换相关函数函数返回类型描述实例to_char(timestamp, text)text将时间戳转换为字符串to_char(current_timestamp, 'HH12:MI:SS')to_char(interval, text)text将时间间隔转换为字符串to_char(interval '15h 2m 12s', 'HH24:MI:SS')to_char(int, text)text整型转换为字符串to_char(125, '999')to_char(double precision, text)text双精度转换为字符串to_char(125.8::real, '999D9')to_char(numeric, text)text数字转换为字符串to_char(-125.8, '999D99S')to_date(text, text)date字符串转换为日期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 stampto_timestamp('05 Dec 2000', 'DD Mon YYYY')to_timestamp(double precision)timestamp把UNIX纪元转换成时间戳to_timestamp(1284352323)

(0)

相关推荐