• MySQL中concat函数


    一. concat()函数

    1. 含义:

         将多个字符串连接成一个字符串。

    2. 语法:

         concat(str1, str2,...) 返回结果为连接参数产生的字符串,如果有任何一个参数为null,则返回值为null。

    3. 演示:

         select concat (id, name) as info from t1;

    mysql> select * from t1;
    +-------+-------+
    | id | name |
    +-------+-------+
    | 10001 | 沙 |
    | 10001 | 石 |
    | 10001 | 煤 |
    | 10002 | 水 |
    | 10002 | 盐 |
    | 10002 | 盐 |
    | 10002 | 盐2 |
    +-------+-------+
    +-------+------------------------+
    | info
    +-------+------------------------+
    | 10001沙 |
    | 10001石 |
    | 10001煤 |
    | 10002水 |
    | 10002盐 |
    | 10002盐 |
    | 10002盐2 |
    +-------+------------------------+
     

    中间有一行为null是因为t1表中有一行的score值为null。 

    例2:在例1的结果中三个字段id,name,score的组合没有分隔符,我们可以加一个逗号作为分隔符:

     select concat (id,‘,’ ,name) as info from t1;

    +-------+------------------------+
    | info
    +-------+------------------------+
    | 10001,沙 |
    | 10001,石 |
    | 10001,煤 |
    | 10002,水 |
    | 10002,盐 |
    | 10002,盐 |
    | 10002,盐2 |
    +-------+------------------------+
     

    这样看上去似乎顺眼了许多~~

    但是输入sql语句麻烦了许多,三个字段需要输入两次逗号,如果10个字段,要输入九次逗号...麻烦死了啦,有没有什么简便方法呢?——于是可以指定参数之间的分隔符的concat_ws()来了!!!

    二、concat_ws()函数

    1. 含义:

           和concat()一样,将多个字符串连接成一个字符串,但是可以一次性指定分隔符~(concat_ws就是concat with separator)

    2. 语法:

           concat_ws(separator, str1, str2, ...)

           说明:第一个参数指定分隔符。需要注意的是分隔符不能为null,如果为null,则返回结果为null。

    3、举例:

    例3:我们使用concat_ws()将 分隔符指定为逗号,达到与例2相同的效果:

      select concat_ws(',',id ,name) as info from t1;

    +-------+------------------------+
    | info
    +-------+------------------------+
    | 10001,沙 |
    | 10001,石 |
    | 10001,煤 |
    | 10002,水 |
    | 10002,盐 |
    | 10002,盐 |
    | 10002,盐2 |
    +-------+------------------------+
    例4:把分隔符指定为null,结果全部变成了null:

    +-------+------------------------+
    | info
    +-------+------------------------+
    | null |
    | null |
    | null |
    | null |
    | null |
    | null |
    | null |

  • 相关阅读:
    Flutter: The getter 'futureDynamicType' was called on null.
    Android混合Flutter
    js bese64转化为blob使用FormData上传
    Flutter FractionallySizedBox 设置维度比例 而不是固定的px
    Flutter 区分开发环境和生产环境
    windows 隐藏desktop.ini文件
    Js中的reduce,fold和unfold
    精读Hooks 取数-swr源码
    WebSocket 原理浅析与实现简单聊天
    TypeScript 2.0 标记联合类型
  • 原文地址:https://www.cnblogs.com/cxy2020/p/13125813.html
Copyright © 2020-2023  润新知