postgres 字符串操作(拼接/查询位置/删除空白)
(2018-02-28 15:21:17)分类: SQL |
1.字符拼接
2.字符串的类型变换
(1)输出ASCII码的字符,方法:select chr(49);
(2)第一个字符的ASCII码,方法:select ascii('1');
(3)大写字母转为小写字母: select lower('HELLO1234');
(4)小写字母转为大写字母:select
upper('hello1234');
3.字符串添加/删除字符
(1)左侧添加字符:
(2)右侧添加字符:
(3)左右侧消除空格:
(4)把string中的任何匹配from中字符的字符转换为to中对应的字符:translate(string
text,from text,to text)
4.字符串抽取
(1)提取字符串中的部字符
(2)提取特定字符的位置:position(string in string)
5.其他字符串相关函数
(1)bit_length(string):返回字符串里二进制位的个数,比如select
bit_length('hello'),返回40(一个字符8位);select
bit_length('北京市'),返回72(一个汉字1个字符3个字节);
(2)char_length(string):返回字符串中字符个数,select
char_length('北京市'),返回3;
(3)convert(string using
conversion_code_name):改变字符编码,selec convert('abcdefg','iso_8859_1','utf8');
(4)octet_length(string):返回字符串字节数select octet_length('北京市'),返回9;
(5)overlay(string placing
string from int for int
):替换字符串,select overlay('北京市丰台区' placing
'海淀区' from 4 for 3 );返回北京市海淀区;
(6)btrim(string1,string2):从string1开头和结尾删除只包含在string2里的字符的最长字符。
select btrim('xyxtrimyyx','xy'),返回trim
开头xyx是位于xy中的,结尾xyy是位于xy中的,都删除;
select btrim('xyxtrimyyx','x'),返回yxtrimyy
开头x是位于x中的,第二位的y不在,删除x结束,结尾也是删除x以后结束删除
select
btrim('xyxtrimyyx','y'),返回xyxtrimyyx。
(7)replace(string,from,to),把字符string里出现的所有子字符串from替换为子字符串to
select
replace('北京市海淀区',
'海淀',
'丰台'); 返回 北京市丰台区;--跟overlay的使用目的类似;
(8)repeat(string,int):重复string
int 次。select
repeat('北京',4);返回:北京北京北京北京
(9)strpos(string,string):子字符串的位置 strpos('北京市','市');
返回3
(10)to_hex(int/bigint):把number转换成其对应的十六进制表现形式。select
to_hex(125);
返回7d