手记

postgreSQL 字符日常操作

示例数据库:

-- auto-generated definition
create table z_user
(
    id         int4 not null
        constraint user_lhy_pkey
            primary key,
    name       varchar(255),
    age        int4,
    gender     int4,
    grade      int4,
    address    varchar(255),
    user_state int4
);
comment on column z_user.id is '主键ID';
comment on column z_user.name is '姓名';
comment on column z_user.age is '年龄';
comment on column z_user.gender is '性别,0:MALE, 1:FEMALE';
comment on column z_user.grade is '年级';
comment on column z_user.address is '家庭地址';
comment on column z_user.user_state is '用户状态';

数据:

一,字符串
1,直接拼接 : concat(a,b,…) ,
横向拼接

select concat('a','b') ;

运行结果: ab
和用 || 双竖线 结果一样
2,用某个字符进行间隔拼接: concat_ws(间隔符,a,b,…)
横向拼接

select concat_ws('--','a','b','c') ;

运行结果:a–b--c
类似后台代码中的join

2,分组拼接字符:string_agg(字段,拼接符)
纵向拼接
示例:按年级进行分组,把姓名进行合并

select grade,
       string_agg(name, ',') as names
from z_user
group by grade;

运行结果:

1人推荐
随时随地看视频
慕课网APP