有关oracle与mysql转换之字符串连接符'||'及连接函数concat()

小记:

初次接手中心的工作,由于项目需要进行改造升级,也因为要将项目使用的oracle库改成使用mysql库,所有的配置sql都要改造,也就有了改造sql的过程中遇到的问题。

刚开始上手时,一个sql搞半天,也改不成功。毕竟sql不仅涉及到sql语法,还有业务知识。

归根结底,还是要学习oracle和mysql,以及尽快熟悉业务

正文:

oracle
select '你好' || ',' || cust_name from  customer where cust_id = '123';

|| 这个连接符在oracle语法中表示将各个字符连接成字符串。

mysql
select concat('你好' , ',' , cust_name) from  customer where cust_id = '123';

mysql中concat(str1,str2,str3,…)函数,函数内部多个字符以逗号分隔,可以实现和 || 基本一样的功能,唯一的不同点在于,|| 可以无视NULL,但是concat()函数,只要有一个值是NULL,就返回NULL

举例:

oracle中||

  select '你好啊' || NULL || ',小明' from dual;

执行结果:
在这里插入图片描述
mysql中concat()函数

  select '你好啊' || NULL || ',小明' VALUE;

执行结果:
在这里插入图片描述

重点:

CONCAT(str1, str2, str3,…)中只要出现了NULL,返回的就是NULL一定要注意哈!!!

扩展:
mysql中,当连接的字符要以固定的字符,比如逗号分隔时,还有一个比CONCAT(str1, str2, str3,…)更好用的函数,就是CONCAT_WS(‘分隔符’,str1, str2, str3,…),其中第一个参数是要分隔的字符

举个栗子:

SELECT CONCAT_WS(',','你好','小明','小红','小花') value;

在这里插入图片描述

要重新开始持续小记录了。

去年刚毕业,就被派到辽宁出差,从此开启颠倒昼夜的加班生活。

作为小小的程序媛妹子,要学习的还有好多好多,要重新拾起记录的习惯了。

加油加油

  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值