MYSQL探索

concat

select * from where concat(字段1,字段2,。。。)   = 'e1234234';

查询几个字段拼接起来是e1234234的数据,

concat(字段1,字段2,。。。) 

返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。

如果被拼接参数中有一个二进制参数,则返回一个二进制字符串,

阻止一个数字被转换成二进制的方法 SELECT CONCAT(CAST(int_col AS CHAR), char_col)

 

concat_ws

使用方法 CONCAT_WS(separator,str1,str2,...)

separator是结果中的分隔符,在结果中会将拼接的字段两两分开

select concat(',',字段1,字段2,,)

得到的结果是  字段1,字段2,字段3

5200_0A498CB3E2094C8EB944FCF50F438F44,67676767

select CONCAT_WS(null ,z.id,z.zrsmc) from c_tb_zrs z

结果是null

select CONCAT_WS('null' ,z.id,z.zrsmc,null) from c_tb_zrs z

5200_061FE382E8D145F886EAE9CD046E5BC7nullcc1

concat_ws 当separator为null的时候,结果为null,当有字段为null的时候只忽略此字段

group_concat函数:

group_concat(DISTINCT  要连接的字段   Order BY ASC/DESC 排序字段   Separator '分隔符')

SELECT XT_LRRDW ,GROUP_CONCAT(ZRSMC SEPARATOR'null')

2312null12321null123213null12313nullcehsinull213213null123123null21312nullasdsadnull23123

将XT_LRRDW相同的zrsmc全部在第二个查询数据中查询出来,并以null链接,假如,GROUP_CONCAT(ZRSMC)则以,链接

SELECT XT_LRRDW ,GROUP_CONCAT(ZRSMC ,'null')

2312null,12321null,123213null,12313null,cehsinull,213213null,123123null,21312null,asdsadnull,23123null

几个字段也可以拼接

select id,group_concat(name order by name desc) from aa group by id;

查询出来后name按照倒叙排序

select id,group_concat(distinct name) from aa group by id;

将name中的重复去掉,去冗余

 

此是看了一篇文章后,为了记忆深刻,自己又写了一遍,原网址http://zac110.iteye.com/blog/1582382

 

posted @ 2018-03-07 10:25  静静的代码生活  阅读(95)  评论(0编辑  收藏  举报