1.extract
select extract(hour from '2016-05-06 23:00:01'::timestamp); --返回23
返回指定部分的值。
2.date_trunc
select date_trunc('hour','2016-05-06 23:25:01'::timestamp); --返回 2016-05-06 23:00:00
返回时间串,但是将指定部分之后的内容格式话
3.coalesce(字段名,默认值)
若字段为空 填充默认值。
3 age(timestamp
,timestamp ) 或者 age(timestamp )
age(timestamp '19650925')
计算从19650925 到现在的时间 得到:"50 years 8 mons 20 days"
select to_char(age(timestamp '19650925'),'YYY') 得到年:"050"
4 cast('123' as integer); 转化为数值
select cast(to_char(age(timestamp '19650925'),'YYY') as integer);
得到50;
cast(timestamp as time ) 得到时分秒格式的时间
cast(timestamp as date ) 得到年月日格式的时间
5 date_part('year',max(operate_time)-min(operate_time)) , 计算两个时间差 返回年
6 substring(string [from int] [for int] )
select substring('123465789',2,3) ; 得到:234
select substring('123465789', from 4) ; 得到:465789
select substring('123465789', from 4 for 2) ; 得到:46
7 字符串列转行函数 string_agg
8 字符串行转列 regexp_split_to_table
9 generate_series(start,stop,[step]); 按不同的规则用来产生一系列的填充数据。
postgres=# select generate_series(1,10,3);
generate_series
-----------------
1
4
7
10
(4 rows)