postgresql常用函式

2021-10-02 00:12:52 字數 1775 閱讀 4317

create table search.t_test_20200108(

c_id varchar(300),

c_field varchar(300)

)insert into search.t_test_20200108 values(『1』,『醫療器械類,化妝品類,藥品類,食品類』);

concat_ws第乙個引數為符號 以這個符號進行拼接

select

concat_ws(』,』,

(case when c_field like 『%醫療器械%』 then 『醫療器械生產』 end),(case when c_field like 『%化妝品%』 then 『化妝品生產』 end),(case when c_field like 『%藥品%』 then 『藥品生產』 end),(case when c_field like 『%食品%』 then 『食品生產』 end))

asnew_field

from

search.t_test_20200108 a

結果: 醫療器械生產,化妝品生產,藥品生產,食品生產

concat拼接所有引數中的字串

select

concat(』,』,

(case when c_field like 『%醫療器械%』 then 『醫療器械生產』 end),(case when c_field like 『%化妝品%』 then 『化妝品生產』 end),(case when c_field like 『%藥品%』 then 『藥品生產』 end),(case when c_field like 『%食品%』 then 『食品生產』 end))

asnew_field

from

search.t_test_20200108 a

結果:,醫療器械生產化妝品生產藥品生產食品生產

– 將乙個欄位拆分成多個根據自己需要的字段

select

(case when c_field like 『%醫療器械%』 then 『醫療器械』 else 『』 end) as qylx1,

(case when c_field like 『%化妝品%』 then 『化妝品』 else 『』 end) as qylx2

from

search.t_test_20200108 a

where

a.c_id = 『1』;

create table search.t_test_2020010801(

c_id varchar(300),

c_field varchar(300),

c_name varchar(300)

)insert into search.t_test_2020010801 values(『3』,『食品類』,『c某』);

string_agg把表示式變成乙個字串

select string_agg(c_field,』,』) from search.t_test_2020010801

結果:醫療器械類,化妝品類,食品類

array_agg(expression) 把表示式變成乙個陣列 一般配合array_to_string()函式使用 跟上述string_agg效果相仿

select array_to_string(array_agg(c_field),』,』) from search.t_test_2020010801

結果:醫療器械類,化妝品類,食品類

postgreSQL常用函式

select coalesce sum duration 0 若sum duration 返回值為空,則為其賦值0 select to date 2013 12 20 yyyy mm dd 字串轉化為date型別 select date 2013 10 28 01 00 interval 50 mi...

常用PostgreSQL函式

1.數學函式abs 返回絕對值 pi 返回圓周率值 sqrt 返回非負數的二次方根 mod x,y 返回x被y除 x y 後的餘數,x也可以為小數 ceil x 或 ceiling x 返回不小於x最小整數值 floor x 返回不大於x的最大整數值 round x 返回最接近於x的整數 round...

postgresql 常用小函式

將字串按照分隔符劃分成為陣列 create or replace function tools str2array in originstr varchar 800 in delimeter varchar 10 returns varchar 800 as declare strres varch...