mysql中concat和case问题

1.使用concat,如果某列为空,那么concat的结果也为空

解决方案

IFNULL(kh.`build_name`,‘‘)

  

IFNULL函数,如果为空则用后面设定的值

2.使用case when时

CASE  kh.`unit_name` WHEN NULL THEN ‘‘ELSE ‘-‘ END

  上面的sql无法判断是否为空

CASE WHEN kh.`unit_name` IS NULL THEN ‘‘ELSE ‘-‘ END

  应使用   is null来判断

原文地址:https://www.cnblogs.com/blackDriver/p/9962655.html

时间: 2024-08-30 02:43:43

mysql中concat和case问题的相关文章

mysql中CONCAT值为空的问题解决办法

在mysql中concat函数有一个特点就是有一个值为null那么不管第二个字符有多少内容都返回为空了,这个特性让我们在实例应用中可能觉得不方便,但实现就是这样我们需要使用其它办法来解决. 天在做opencart开发的时候,需要对用户表中用户的电话号码和区号连接起来,于是使用了concat方法,  代码如下 复制代码 SELECT CONCAT(isdcode,telephone) FROM gb_customer 竟然发现很多NULL列,telephone明明是有值的,于是查询了相关conca

MySQL中concat函数(连接字符串)

MySQL中concat函数使用方法:CONCAT(str1,str2,…) 返回结果为连接参数产生的字符串.如有任何一个参数为NULL ,则返回值为 NULL. 注意:如果所有参数均为非二进制字符串,则结果为非二进制字符串. 如果自变量中含有任一二进制字符串,则结果为一个二进制字符串.一个数字参数被转化为与之相等的二进制字符串格式:若要避免这种情况,可使用显式类型 cast, 例如:SELECT CONCAT(CAST(int_col AS CHAR), char_col) MySQL的con

MySQL中concat函数

使用方法:CONCAT(str1,str2,-) 返回结果为连接参数产生的字符串.如有任何一个参数为NULL ,则返回值为 NULL. 注意:如果所有参数均为非二进制字符串,则结果为非二进制字符串. 如果自变量中含有任一二进制字符串,则结果为一个二进制字符串.一个数字参数被转化为与之相等的二进制字符串格式:若要避免这种情况,可使用显式类型 cast, 例如:SELECT CONCAT(CAST(int_col AS CHAR), char_col) MySQL的concat函数可以连接一个或者多

mysql中concat函数的使用相关总结

concat(str1,str2) 返回结果为连接参数产生的字符串.如有任何一个参数为NULL ,则返回值为 NULL. mysql> select concat('11','22','33'); +------------------------+ | concat('11','22','33') | +------------------------+ | 112233 | +------------------------+ 1 row in set (0.00 sec) MySQL的co

mysql中concat 和 group_concat()的用法

一.CONCAT()函数CONCAT()函数用于将多个字符串连接成一个字符串.使用数据表Info作为示例,其中SELECT id,name FROM info LIMIT 1;的返回结果为+----+--------+| id | name   |+----+--------+|  1 | BioCyc |+----+--------+1.语法及使用特点:CONCAT(str1,str2,-)                       返回结果为连接参数产生的字符串.如有任何一个参数为NULL

MySQL中CONCAT、CONCAT_WS和GROUP_CONCAT函数

一.CONCAT()函数CONCAT()函数用于将多个字符串连接成一个字符串.使用数据表Info作为示例,其中SELECT id,name FROM info LIMIT 1;的返回结果为+----+--------+| id | name   |+----+--------+|  1 | BioCyc |+----+--------+1.语法及使用特点:CONCAT(str1,str2,-)                       返回结果为连接参数产生的字符串.如有任何一个参数为NULL

mysql中LOCATE和CASE WHEN...THEN...ELSE...END结合用法

之前项目中需要写一个sql,就是查出某个调研详情中,选A答案,B答案,C答案...F答案的人各有多少人,这个sql也是费了很大的力气才写出来,故记下来,方便以后使用. 其中tbl_research_item为调研详情表,tbl_user_research_item为用户答题详情表 SELECT item.research_id,item.item_id,item.question,item.question_type,item.option1,item.option2,item.option3,

浅析MySQL中concat以及group_concat的使用

说明: 本文中使用的例子均在下面的数据库表tt2下执行: 一.concat()函数 1.功能:将多个字符串连接成一个字符串. 2.语法:concat(str1, str2,...) 返回结果为连接参数产生的字符串,如果有任何一个参数为null,则返回值为null. 3.举例: 例1:select concat (id, name, score) as info from tt2; 中间有一行为null是因为tt2表中有一行的score值为null. 例2:在例1的结果中三个字段id,name,s

MySQL中concat以及group_concat的使用

摘自:https://www.jianshu.com/p/43cb4c5d33c1 说明: 本文中使用的例子均在下面的数据库表tt2下执行: 一.concat()函数 1.功能:将多个字符串连接成一个字符串. 2.语法:concat(str1, str2,...) 返回结果为连接参数产生的字符串,如果有任何一个参数为null,则返回值为null. 3.举例: 例1:select concat (id, name, score) as info from tt2; 中间有一行为null是因为tt2