当前位置:   article > 正文

用MySQL 的 CONCAT() 、ISNULL()、IF() 拼接查询结果_mysql中的if concat

mysql中的if concat

有时需要查询的结果分别在几个字段里面,需要将几个字段的内容组合起来
原来一直都是先把几个字段先查询出来,然后再在 PHP 脚本里面再用一个 foreach 将这些字段组合起来
后来想能不能直接在查询语句中把结果组合起来,用类似于

SELECT filed1 + field2 AS result FROM t
来直接输出结果,这样就不用再循环一次,提高效率
但是让人失望的是 MySQL 只支持数字的 + 运算,不支持字符串的 + 运算
后来查到用 CONCAT() 函数可以实现字符串的组合,那么上面的查询就可以写成
SELECT CONCAT(filed1, filed2) AS result FROM t

遇到从几个表的几个字段里查询内容,有时可能有的字段为空,那么要用其他的值来代替,这时就可以用 IFNULL() 了
用法:
IFNULL(expr1, expr2)
如果 expr1 的值不为空,返回 expr1 的值, 如果 expr1 的值为空时,返回 expr2 的值
那么可以写出下面的查询了

SELECT id, IFNULL(username, 'noName') AS userName FROM t
意思是如果 username 的值为 null ,查询出来的值就是 noName

但是 IFNULL() 不能处理值为 0 的情况,0 不是 NULL,如果用 IFNULL(0, &

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/Li_阴宅/article/detail/873541
推荐阅读
相关标签
  

闽ICP备14008679号