MySQL中concat函数
今天看代码中遇到了 MySQL 中 concat 函数,在网上查询了些资料,特来记录下;
函数:concat(str1,str2,...)
作用: 将两个或多个字符进行拼接
参数:当所有字符串都存在时,会按着参数顺序输出表信息,
注意:如果有一个参数为null ,查询结果则为null;如查询多条数据时,行内拼接字段中有个null 的,则该行返回 null
举例:
这里有一份小说数据表,我们将书名按照: 《书名》-作者 - 发行方式 的格式输出
表内容

输入查询语句开始查询:
SELECT id,CONCAT('《',title,'》',' - ',NAME, ' - ',publish) AS bookAuthor FROM demo01
查询结果:

查看结果中有的行显示了 null ,这不是我们想看到的结果,因为该函数 CONCAT() 接收的参数如有 null 则返回 null ,那我们就要想办法去处理,解决这个问题有两个方法:
处理方法1: 不建议在数据库中存储数据的时候,不要存null值,最好是给该列设置一个默认值,因为如果某一列存在null值,则该列的创建的索引将会失效,null的查询效率低。
处理方式2:修改SQL查询语句,用 ifnull(参数1,参数2) 做判断: 该函数的用处是判断一个字段是否为null,如果为null,第二个参数则为该字段指定一个默认值。
方法2修改后的 SQL 语句:
SELECT id,CONCAT('《',title,'》',' - ',NAME, ' - ',IFNULL(publish, '未知')) AS bookAuthor FROM demo01
执行结果:

参考:
https://www.cnblogs.com/zsliu/p/8745086.html
https://www.yiibai.com/mysql/mysql-concat-function.html
https://blog.csdn.net/qq_34436819/article/details/81154028

浙公网安备 33010602011771号