• MySQL中CONCAT()函数拼接出现NULL的问题


    项目中查询用到了concat()拼接函数,在此查询中出现了拼接的字段为null的情况,拼接结果为null在应用层报了空指针异常。

    SELECT CONCAT(‘1,’,NULL,‘2’) result;

    SELECT CONCAT(‘1,’,‘’,‘2’) result;

    通过实践证明CONCAT()函数拼接时如果拼接的参数中有NULL时,结果为NULL。

    使用以下方式来解决

    **方法一:**使用IFNULL函数如果是NULL将其置为’'空字符串。

    SELECT CONCAT(‘1,’,IFNULL(NULL,‘’),‘2’) result;

    **方法二:**使用CONCAT_WS函数。指定有分隔符的字符串连接

    SELECT CONCAT_WS(‘,’,‘1’,NULL,‘2’) result;

    指定使用逗号进行分隔

    CONCAT_WS(分隔符,参数1,参数2,…参数n)与CONCAT(参数1,参数2,…参数n)
    两个函数的区别:

    CONCAT_WS():表示concat with separator,即有分隔符的字符串连接

    CONCAT():表示将字符串进行连接

    两个最重要的区别就是,CONCAT()函数,拼接参数中存在NULL直接返回NULL

    而CONCAT_WS()函数在执行的时候,不会因为NULL值而返回NULL

    先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦

  • 相关阅读:
    C语言 深度探究C语言中的字符串
    .NET7 gRPC JSON转码+OpenAPI
    字节面试问到CPU的多级缓存架构,诸佬们怎么回答?
    【计算机网络】 TCP流量控制——滑动窗口和累积应答
    算法:滑动窗口
    linux下ftp服务器的简单的搭建
    08: value too great for base (error token is “08“)
    antd Carousel 重写dot样式
    英特尔发布超百万亿算力GPU,进军数据中心
    BeanFactory与ApplicationContext的区别
  • 原文地址:https://blog.csdn.net/m0_67390969/article/details/126062120