达梦数据库 您所在的位置:网站首页 sql怎么拼接两个字段 达梦数据库

达梦数据库

2023-09-29 06:13| 来源: 网络整理| 查看: 265

不同的数据库字符串连接有用不同的符号,比如 SQLSERVER 用 +,Oracle 用 ||。 老版本达梦数据库两种符号都支持,但是在达梦新版本中只支持 ||,因为 + 同时作为连接符和运算符会有歧义。 例如:

select ‘1’+‘1’;

查询结果为: 在这里插入图片描述

select ‘1’||‘1’;

查询结果为: 在这里插入图片描述 当然,达梦还可以像 MySQL 一样用 concat 函数,例如:

select concat(‘1’,‘1’);

查询结果为: 在这里插入图片描述 Oracle 里面的 wmsys.wm_concat也支持,移植到达梦的时候把 wmsys. 去掉即可,例如:

先创建表 CREATE TABLE “DMDB”.“TEST_TABLE1” (“ID” BIGINT NOT NULL,“NAME” VARCHAR(50),“JOB” INT,CLUSTER PRIMARY KEY(“ID”)) STORAGE(ON “MAIN”, CLUSTERBTR); insert into DMDB.test_table1 values(1,‘我的’,1); insert into DMDB.test_table1 values(2,‘DMRWW’,1); insert into DMDB.test_table1 values(3,‘我的’,2); insert into DMDB.test_table1 values(4,‘DMMPP’,2); commit; 进行拼接 select wm_concat(name),JOB from DMDB.test_table1 group by JOB;

查询结果为: 在这里插入图片描述

由于wm_concat是只能以逗号结尾进行分割,在实际应用中有些许不变,因此又写了一个函数能够灵活变通—— listagg。

使用下划线进行分割,使用id进行排序 select listagg(name,’_’) within GROUP(order by ID) ,JOB from DMDB.test_table1 group by JOB;

查询结果为: 在这里插入图片描述



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有