目录
前言
字符串操作
1、字符串连接符
2、定位(查找字符串位置)
2.1、定位字符串位置
3、截取字符串
3.1、截取字符串
3.2、正则匹配截取字符串
4、计算字符串md5散列
5、计算字符串中字符数量
5.1 计算字符串中的字符数量
6、把字符串全部转换为小写字符
7、把字符串全部转换为大写字符
8、根据分隔符分割获取字符串
9、重复字符串
10、覆盖替换单个字符串
11、替换全部字符串
12、根据字符顺序逐个匹配替换字符串
13、长度
日期时间转日期字符串
参考
日期格式化转换匹配字符
postgre数据库字符串和日期转换操作常用函数手册
||
使用示例:select 'id'||'name'
运行结果: idname
postion(substring in string)
使用示例:select postion('a' in 'name')
运行结果: 2
strpos(string,substring)
使用示例:select strpos('test','s')
运行结果: 3
substr(string, start, size)
使用示例1:select substr('test',2,2)
运行结果1: es
使用示例2:select substr('test',2)
运行结果2: est
substring(string from int for int)
使用示例:substring('hello word' from 2 for 3)
运行结果: ell
substring(string from pattern)
使用示例:substring('hello word' from '…$')
运行结果: lo word
md5(string text)
使用示例:select md5('12345')
运行结果: 827ccb0eea8a706c4c34a16891f84e7b
char_length(string)
使用示例:select char_length('12345')
运行结果: 5
octet_length(string)
select octet_length('测试')
使用示例1:select char_length('测试')
运行结果1: 6
使用示例2:select char_length('Test123')
运行结果2: 7
lower(string)
使用示例:select lower('TEST')
运行结果: test
upper
使用示例:select upper('test')
运行结果: TEST
split_part(string, delimiter, int)
使用示例:select split_part('id1,id2,id3,id4', ',',2)
运行结果: id2
repeat(string,int)
使用示例:select repeat('id',4)
运行结果:idididid
overlay(string placing substring from int for int)
使用示例:select overlay('id1,id2' placing ';' from 4 for 1)
运行结果: id1;id2
replace(string,string, replacestring)
说明:可以用来替换特殊字符
使用示例:select replace('id,id,id,id', ',', '-')
运行结果: id-id-id-id
translate(string, from, to)
使用示例:select translate('123,213,321', '31','13')
说明:将字符串中1和3互换
运行结果: 321,231,123
length(string) 说明:计算字符串长度
使用示例:select length("name")
运行结果:4
to_char(now(),'YYYY/MM/DD HH:MI:SS:MS')
| 函数| 返回类型| 描述 | 例子| |- |- | -|-| |tochar(timestamp, text) |text |把时间戳转换成字串 |tochar(currenttimestamp, 'HH12:MI:SS') |tochar(interval, text) |text |把时间间隔转为字串 |tochar(interval '15h 2m 12s', 'HH24:MI:SS') |tochar(int, text) |text |把整数转换成字串 |tochar(125, '999') |tochar(double precision, text) |text |把实数/双精度数转换成字串 |tochar(125.8::real, '999D9') | tochar(numeric, text) |text |把numeric转换成字串 |tochar(-125.8, '999D99S') |todate(text, text) |date |把字串转换成日期 |todate('05 Dec 2000', 'DD Mon YYYY') |totimestamp(text, text) |timestamp |把字串转换成时间戳 |totimestamp('05 Dec 2000', 'DD Mon YYYY') |totimestamp(double) |timestamp |把UNIX纪元转换成时间戳 |totimestamp(200120400) |tonumber(text, text) |numeric |把字串转换成numeric |to_number('12,454.8-', '99G999D9S')
|模式 |描述| |- |- | |HH |一天的小时数(01-12) |HH12 |一天的小时数(01-12) |HH24 |一天的小时数(00-23) |MI |分钟(00-59) |SS |秒(00-59) |MS |毫秒(000-999) |US |微秒(000000-999999) |AM |正午标识(大写) |Y,YYY |带逗号的年(4和更多位) |YYYY |年(4和更多位) |YYY |年的后三位 |YY |年的后两位 |Y |年的最后一位 |MONTH |全长大写月份名(空白填充为9字符) |Month |全长混合大小写月份名(空白填充为9字符) |month |全长小写月份名(空白填充为9字符) |MON |大写缩写月份名(3字符) |Mon |缩写混合大小写月份名(3字符) |mon |小写缩写月份名(3字符) |MM |月份号(01-12) |DAY |全长大写日期名(空白填充为9字符) |Day |全长混合大小写日期名(空白填充为9字符) |day |全长小写日期名(空白填充为9字符) ||DY |缩写大写日期名(3字符) |Dy |缩写混合大小写日期名(3字符) |dy |缩写小写日期名(3字符) |DDD |一年里的日子(001-366) |DD |一个月里的日子(01-31) |D |一周里的日子(1-7;周日是1) |W |一个月里的周数(1-5)(第一周从该月第一天开始) |WW |一年里的周数(1-53)(第一周从该年的第一天开始)