1、md5(string)函数:将字符串进行md5编码
SELECT md5('a');
结果:0cc175b9c0f1b6a831c399e269772661
2、string || non-string ||string函数:字串或非字符串连接
select 'Post'||1||'greSQL';
结果:Post1greSQL
3、concat(s1[,s2,s3...sn])函数:返回结果为连接参数产生的字符串
SELECT concat('hello','world');
结果:helloworld
4、concat_ws(x,s1 [,s2,s3...sn])函数:返回结果为用x分割的连接参数产生的字符串
SELECT concat_ws('_','P','G');
结果:P_G
5、ascii(string):参数第一个字符的ASCII码
select ascii('x');
结果:120
6、chr(int)函数:得到某ACSII值对应的字符
SELECT chr(97);
结果:a
7、to_hex(number int/bigint):对数值进行十六进制编码
select to_hex(31);
结果:1f
8、decode(string text, type text)函数:对字符串按指定的类型进行解码
SELECT decode('MTIzAAE=', 'base64');
结果:(BLOB) 5 bytes
9、encode(data bytea, type text)函数:与decode相反,对字符串按指定类型进行编码
SELECT encode(E'123\\000\\001', 'base64');
结果:MTIzAAE=
10、convert(string text, src_encoding name, dest_encoding name)函数:转换字符串编码,指定源编码与目标编码
select convert( 'text_in_utf8', 'UTF8', 'LATIN1');
结果:以ISO 8859-1编码表示的text_in_utf8
11、convert_from(string bytea, src_encoding name)函数:转换字符串编码,自己要指定源编码,目标编码默认为数据库指定编码
select convert_from('text_in_utf8', 'UTF8');
结果:text_in_utf8
12、convert_to(string text, dest_encoding name)函数:转换字符串编码,源编码默认为数据库指定编码,自己要指定目标编码
select convert_to('some text', 'UTF8');
13、bit_length(string)函数:计算字符串的位数
select bit_length('jose');
结果:32
14、octet_length(string)函数:计算字符串的字节数
select octet_length('jose');
结果:4
15、char_length(string)/character_length(string)函数:计算字符串中字符个数
select char_length('jose');
结果:4
16、length(string,[encoding name])函数:计算字符串长度,可指定字符串使用的编码
SELECT length('jose', 'UTF8');
结果:4
17、reverse(s)函数:将字符串s反转,返回的字符串的顺序和s字符顺序相反
SELECT reverse('abcd');
结果:dcba
18、lower(string)函数:把字串转化为小写
select lower('TOM');
结果:tom
19、upper(string)函数:把字串转化为大写
SELECT upper('abc');
结果:ABC
20、initcap(string)函数:将字符串所有的单词进行格式化,首字母大写,其它为小写
select initcap('hi tHOMAS');
结果:Hi Thomas
21、strpos(string, substring)函数:指定字符串在目标字符串的位置
select strpos('high','ig');
结果:2
22、position(substring in string)函数:子串在一字符串中的位置
select position('om' in 'Thomas');
结果:3
23、overlay(string placing string from int [for int])函数:替换字符串中任意长度的子字串为新字符串
select overlay('Txxxxas' placing 'hom' from 2 for 4);
结果:Thomas
24、replace(string text, from text, to text)函数:将字符的某一子串替换成另一子串
select replace('abcdefabcdef', 'cd', 'XX');
结果:abXXefabXXef
25、translate(string text, from text, to text)函数:将字符串中某些匹配的字符替换成指定字符串,目标字符与源字符都可以同时指定多个
select translate('12345', '14', 'ax');
结果:a23x5
26、split_part(string text, delimiter text, field int)函数:对字符串按指定子串进行分割,并返回指定的数值位置的值
select split_part('abc~@~def~@~ghi', '~@~', 2);
结果:def
27、left(s,n)函数:返回字符串s开始的最左边n个字符
SELECT left('abcd',2);
结果:ab
28、right(s,n)函数:返回字符串s开始的最右边n个字符
SELECT right('abcd',2);
结果:cd
29、substr(string, from [, count]):截取子串
select substr('alphabet', 3, 2);
结果:ph
30、substring(string [from int] [for int])函数: 截取任意长度的子字符串
select substring('Thomas' from 2 for 3);
结果:hom
31、substring(string from pattern)函数:利用正则表达式对一字符串进行任意长度的字串的截取
select substring('Thomas' from '...$');
结果:mas
32、substring(string from pattern for escape)函数:利于正则表达式对某类字符进行删除,以得到子字符串
select substring('Thomas' from '%#"o_a#"%' for '#');
结果:oma
33、trim([leading丨trailing 丨 both] [characters] from string)函数:去除字串string【开头|结尾|两边】的某类字符(默认是空白字符),可同时指定多个要删除的字符串
select trim(both 'x' from 'xTomxx');
结果:Tom
34、btrim(string text [, characters text])函数:去除字符串两边的所有指定的字符,可同时指定多个字符
SELECT btrim('xyxtrimyyx', 'xy');
结果:trim
35、ltrim(string text [, characters text])函数:删除字符串左边某一些的字符,可以时指定多个要删除的字符
SELECT ltrim('xyxtrimyyx', 'xy');
结果:trimyyx
36、rtrim(string text [, character text])函数:去除字符串右边指定的字符
select rtrim('trimxxxx','x');
结果:trim
37、lpad(string text, length int [, fill text])函数:对字符串左边进行某类字符自动填充,即不足某一长度,则在左边自动补上指定的字符串,直至达到指定长度,可同时指定多个自动填充的字符
SELECT lpad('hi', 5, 'xy');
结果:xyxhi
38、rpad(string text, length int [, fill text])函数:对字符串进行填充,填充内容为指定的字符串
select rpad('hi', 5, 'xy');
结果:hixyx
39、repeat(string text, number int)函数:重复字符串一指定次数
select repeat('Pg', 4);
结果:PgPgPgPg
40、quote_ident(string text)函数:对某一字符串加上两引号
SELECT quote_ident('Foo bar');
结果:"Foo bar"
41、quote_literal(string text)函数:对字符串里两边加上单引号,如果字符串里面出现sql编码的单个单引号,则会被表达成两个单引号
SELECT quote_literal('OReilly');
结果:'OReilly'
42、regexp_replace(string text, pattern text, replacement text [, flags text])函数:利用正则表达式对字符串进行替换
select regexp_replace('Thomas', '.[mN]a.', 'M');
结果:ThM
43、regexp_matches(string text, pattern text [, flags text])函数:对字符串按正则表达式进行匹配,如果存在则会在结果数组中表示出来
SELECT regexp_matches('foobarbequebaz', '(bar)(beque)');
结果:{bar,beque}
44、regexp_split_to_array(string text, pattern text [, flags text ])函数:利用正则表达式将字符串分割成数组
SELECT regexp_split_to_array('hello world', E'\\s+');
结果:{hello,world}
45、regexp_split_to_table(string text, pattern text [, flags text])函数:利用正则表达式将字符串分割成表格
SELECT regexp_split_to_table('hello world', E'\\s+');
结果:hello
world