zoukankan      html  css  js  c++  java
  • MySQL中函数CONCAT及GROUP_CONCAT函数的使用

    一、CONCAT()函数

    CONCAT()函数用于将多个字符串连接成一个字符串。

    以数据表[user]作为实例:

    SELECT
        USER_NAME,
        SEX
    FROM
        USER
    WHERE
        USER .LOGIN_ID = 'admin'

    结果:

    1、语法及使用特点:
    CONCAT(str1,str2,…)                       
    返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。可以有一个或多个参数。

    SELECT
        CONCAT(USER_NAME, SEX)
    FROM
        USER
    WHERE
        USER .LOGIN_ID = 'admin'

    结果:

    2、如何指定参数之间的分隔符。

    使用函数CONCAT_WS()。

    使用语法为:CONCAT_WS(separator,str1,str2,…)
    CONCAT_WS() 代表 CONCAT With Separator ,是CONCAT()的特殊形式。第一个参数是其它参数的分隔符。分隔符的位置放在要连接的两个字符串之间。分隔符可以是一个字符串,也可以是其它参数。如果分隔符为 NULL,则结果为 NULL。函数会忽略任何分隔符参数后的 NULL 值。但是CONCAT_WS()不会忽略任何空字符串。 (然而会忽略所有的 NULL)。

    SELECT
        CONCAT_WS('#', USER_NAME, SEX)
    FROM
        USER
    WHERE
        USER .LOGIN_ID = 'admin'

    结果:

    二、GROUP_CONCAT()函数
    GROUP_CONCAT函数返回一个字符串结果,该结果由分组中的值连接组合而成。

    group_concat函数会计算哪些行属于同一组,将属于同一组的列显示出来。要返回哪些列,由函数参数(就是字段名)决定。分组必须有个标准,就是根据group by指定的列进行分组。

    1、使用语法及特点:
    GROUP_CONCAT([DISTINCT] expr [,expr ...]
    [ORDER BY {unsigned_integer | col_name | formula} [ASC | DESC] [,col ...]]
    [SEPARATOR str_val])
    在 MySQL 中,你可以得到表达式结合体的连结值。通过使用 DISTINCT 可以排除重复值。如果希望对结果中的值进行排序,可以使用 ORDER BY 子句。
    SEPARATOR 是一个字符串值,它被用于插入到结果值中。缺省为一个逗号 (","),可以通过指定 SEPARATOR "" 完全地移除这个分隔符。
    可以通过变量 group_concat_max_len 设置一个最大的长度。在运行时执行的句法如下: SET [SESSION | GLOBAL] group_concat_max_len = unsigned_integer;
    如果最大长度被设置,结果值被剪切到这个最大长度。如果分组的字符过长,可以对系统参数进行设置:SET @@global.group_concat_max_len=40000;

    SELECT
        GROUP_CONCAT(USER_NAME)
    FROM
        USER
    WHERE
        USER .SEX = '01'
    GROUP BY CAMPUS_CODE

    结果:

  • 相关阅读:
    BZOJ 1391: [Ceoi2008]order
    BZOJ 4504: K个串
    2019 年百度之星·程序设计大赛
    POJ 2398 Toy Storage (二分 叉积)
    POJ 2318 TOYS (二分 叉积)
    HDU 6697 Closest Pair of Segments (计算几何 暴力)
    HDU 6695 Welcome Party (贪心)
    HDU 6693 Valentine's Day (概率)
    HDU 6590 Code (判断凸包相交)
    POJ 3805 Separate Points (判断凸包相交)
  • 原文地址:https://www.cnblogs.com/yangchunze/p/6738000.html
Copyright © 2011-2022 走看看