zoukankan      html  css  js  c++  java
  • mysql 字符串拼接

    1. CONCAT()
    2. CONCAT_WS()
    3. GROUP_CONCAT()
    一、CONCAT() :
    最常用的字符串拼接方法,但遇到拼接中的字符串出现null的情况会返回null
    语法:CONCAT(string1,string2)
    DEMO1
    

      

    mysql > SELECT CONCAT(s_name,s_sex)  FROM student
    +----------------------+
      CONCAT(s_name,s_sex)
    +----------------------+
        张三男
        赵四男
        王五男
         null
    

      

    二、CONCAT_WS():concat with separator
    比CONCAT的优点
    多了个分隔符功能
    如果某个字符串为null,会忽略null,并返回其他字符串的值
    语法:CONCAT_WS(separator,str1,str2,…)
    代表 concat with separator ,是concat()的特殊形式。第一个参数是其它参数的分隔符。分隔符的位置放在要连接的两个字符串之间。分隔符可以是一个字符串,也可以是其它参数
    DEMO2

    mysql > SELECT CONCAT_WS('--',s_name,s_sex)  FROM student
    +-------------------------------+
       CONCAT_WS('--',s_name,s_sex) 
    +-------------------------------+
          张三--男
          赵四--男
          王五--男
          赵六
    

      

    三、GROUP_CONCAT()
    连接字段,多个值显示为一行
    语法 :group_concat( [DISTINCT] 连接的字段 [Order BY 排序字段 ASC/DESC] [Separator ‘分隔符’] )
    连接的可以是多个字段,也可以对连接字段进行排序
    DEMO3:
    ————————————————

    mysql >  SELECT GROUP_CONCAT(s_id)  FROM student
    +--------------------------------------------+
     GROUP_CONCAT(s_id)
    +--------------------------------------------+
      01,02,03
    ————————————————
    

      

    DEMO4:连接多个字段,并以其中一个字段排序

    mysql >  SELECT GROUP_CONCAT(s_id,s_name order by s_id desc)  FROM student
    +--------------------------------------------+
     GROUP_CONCAT(s_id,s_name order by s_id desc)
    +--------------------------------------------+
     03王五,02赵四,01张三 
    ————————————————
    

      

    $shipment_list = $model_order->table('edit_shipment')->where(array('order_id' => array('in', $dataKeys)))->field('order_id,GROUP_CONCAT(shipping_code) as concat')->group('order_id')->select();
    $shipment_list = array_column($shipment_list,null,'order_id');

    最中结果

    Array
    (
        [463557025] => Array
            (
                [order_id] => 463557025
                [concat] => 858585TTTUJ
            )
    
        [463557026] => Array
            (
                [order_id] => 463557026
                [concat] => 22222222,333333333yt,666666yt
            )
    
    )
    

      

  • 相关阅读:
    phpstorm插件等相关推荐
    Item Pipeline
    没有返回值的构造函数是怎么完成赋值的?
    vue中如何实现点击变成全屏
    vue操作dom元素的三种方法
    陈同学整理的10个可以写到简历上C++项目
    从四个问题透析Linux下C++编译&链接
    C++隐式推导-auto关键词
    从今天起构建你的JavaScript世界
    vue中实现模态框弹出框动画(旋转弹出)
  • 原文地址:https://www.cnblogs.com/yszr/p/13186263.html
Copyright © 2011-2022 走看看