达梦数据库字符串连接用什么符号?

不同的数据库字符串连接有用不同的符号,比如SQLSERVER用 +,Oracle用 ||

早期的达梦版本两种都支持,新版本只支持 ||

因为 + 同时作为连接符和运算符会有歧义,例如下面这个sql:

select '1' + '1' from dual;

结果应该是 2 还是 11 呢?


达梦还可以像mysql一样用 concat函数

select concat('1','1') from dual;

也支持wm_concat,oracle 里面是 wmsys.wm_concat,移植到达梦的时候把 wmsys. 去掉即可

create table test(id int,name varchar(100));
insert into test values(1,'我的');
insert into test values(1,'中国梦');
insert into test values(2,'我的');
insert into test values(2,'中国心');
commit;

select wm_concat(name) from test group by id;

高版本的oracle中已经废弃了wm_concat函数,建议用listagg,达梦也建议用listagg

SELECT LISTAGG(name,'-') within GROUP(order by name)  FROM test group by id;
发布了13 篇原创文章 · 获赞 7 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/myth8860/article/details/100562214