继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

postgreSQL 字符日常操作

一念征途
关注TA
已关注
手记 11
粉丝 13
获赞 7

示例数据库:

-- 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;

运行结果:

图片描述

打开App,阅读手记
1人推荐
发表评论
随时随地看视频慕课网APP