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
        )

)

免责声明:文章转载自《mysql 字符串拼接》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇关于微擎小程序的操作的步骤,如何上传小程序?原生JS实现音乐播放器!下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

mysql修改表、字段、库的字符集

在一次导入数据表(MYISAM)的经历:复制过来的表打开后中文出现乱码,肯定是字符集出现了不致的问题,所以从原数据库导出.sql文件,修改其中的创建表的语句,加入字符集DEFAULT CHARSET=gb2312 用这个导入 mysql -uroot -p --default-character-set=gb2312 databasename>E:o...

mysql_【MySQL】常见的mysql 进程state

Analyzing 线程是对MyISAM 表的统计信息做分析(例如, ANALYZE TABLE )。 checking permissions 线程是检查服务器是否具有所需的权限来执行该语句。 Checking table 线程正在执行表检查操作。 cleaning up 线程处理一个命令,并正准备以释放内存和重置某些状态变量。 closing tabl...

Mysql日期转换函数、时间转换函数

Mysql日期转换函数、时间转换函数 一、MySQL 获得当前日期时间 函数 1,获得当前日期+时间(date + time)函数:now(): select now(); 结果:2008-08-08 22:20:46 2,获得当前日期+时间(date + time)函数:sysdate()sysdate() 日期时间函数跟 now() 类似,不同...

mybatis 在自动生成时设置不生成Example类

只需要在配置要生成的table表中添加几个配置属性就行了。在generatorConfig.xml文件中修改 <!--指定数据库表--> <table tableName="t_user" schema="" > <generatedKey column="userId" sql...

Linux下rsync的用法

一、rsync的概述 rsync是类unix系统下的数据镜像备份工具,从软件的命名上就可以看出来了——remote sync。rsync是Linux系统下的文件同步和数据传输工具,它采用“rsync”算法,可以将一个客户机和远程文件服务器之间的文件同步,也可以在本地系统中将数据从一个分区备份到另一个分区上。如果rsync在备份过程中出现了数据传输中断,恢复...

利用mybatis连接mysql数据库进行数据的操作

整体结构如下: 首先写大配置,该配置的作用是连接数据库。    可以将连接数据库的方法单独提出来,写在jdbc.propterties中,代码如下: jdbc.driver=com.mysql.jdbc.Driver //加载驱动jdbc.url=jdbc:mysql://localhost:3306/school //连接mysql数据库jdbc...