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

不同的数据库字符串连接有用不同的符号,比如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;

 

更多资讯请上达梦技术社区了解: https://eco.dameng.com

 

 

达梦数据库字符串截取可以根据你的具体需求而有所不同。在达梦数据库中,字符串截取可以通过使用SUBSTRING函数来实现。SUBSTRING函数用于从一个字符串中截取指定长度的子字符串。具体使用方法是指定要截取的字符串和起始位置以及长度。 如果你需要截取一个字符串的前几个字符,可以使用以下示例代码: ``` SELECT SUBSTRING('你的字符串', 1, 截取长度); ``` 其中,'你的字符串'是你要截取的字符串,截取长度是你想要截取的字符个数。 如果你需要截取一个字符串的中间部分,可以使用以下示例代码: ``` SELECT SUBSTRING('你的字符串', 起始位置, 截取长度); ``` 其中,'你的字符串'是你要截取的字符串,起始位置是你想要开始截取的位置,截取长度是你想要截取的字符个数。 请注意,在达梦数据库中,字符串的长度计算可能会受到数据库初始化参数LENGTH_IN_CHAR的影响。根据这个参数的不同取值,一个中文字符在存储时可能占据2个字节或3个字节。因此,在进行字符串截取时,你需要确保考虑到这一点。 另外,如果你遇到了字符串截断的错误,可能是由于执行INSERT操作时字符串长度超过了列的定义长度。为了解决这个问题,你可以检查你的数据是否超过了列定义的长度,并考虑适当调整列的长度或者截取字符串以符合列的定义。 总结起来,达梦数据库字符串截取可以通过使用SUBSTRING函数并结合长度和起始位置来实现。同时,在进行字符串截取时,需要考虑到数据库初始化参数LENGTH_IN_CHAR的影响,并确保字符串长度不超过列的定义长度[1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值