postgresql 部分函式整理
阿新 • • 發佈:2018-11-02
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)
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 ) 或者
select to_char(age(timestamp '19650925'),'YYY') 得到年: "050"
4 cast('123' as integer); 轉化為數值
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)