精华内容
下载资源
问答
  • 下面我们来看看MySQL中的字符串函数 假如结果的长度大于 max_allowed_packet 系统变量的最大值时,字符串值函数的返回值为NULL。 对于在字符串位置操作的函数,第一个位置的编号为 1。 ◆ ASCII(str) 返回值为字符...
  • 符串或串(String)是由零个或多个字符组成的有限序列。一般记为 s=’a1a2•••an'... 下面我们来看看MySQL中的字符串函数 假如结果的长度大于 max_allowed_packet 系统变量的最大值时,字符串值函数的返回值为NULL。 对
  • Mysql中的几个连接字符串函数用法

    千次阅读 2019-07-08 10:12:01
      最近完成项目的过程中接触到一个关于列转行的问题,因为没什么思路所以上面查了下,大部分都是关于连接字符串函数的,之前也不了解这几个函数,了解后觉得值得记录下来和大家分析一下。   用来连接字符串的...

      最近完成项目的过程中接触到一个关于列转行的问题,因为没什么思路所以上面查了下,大部分都是关于连接字符串函数的,之前也不了解这几个函数,了解后觉得值得记录下来和大家分析一下。
      用来连接字符串的函数:CONCAT、CONCAT_WS、GROUP_CONCAT
      1. CONCAT:就是直接把需要连接的字段给到它,使用方法:CONCAT(str,’,’,str1,…)。执行效果如下:
    在这里插入图片描述
    需要注意的是:使用CONCAT函数连接字符串,只要其中有NULL出现,则将会返回为NULL。如:
    在这里插入图片描述
      2. CONCAT_WS:是CONCAT的特殊版,使用CONCAT连接字符串是需要自己加分隔符的,但是如果使用CONCAT连接多个字符串就需要在每个字符串之间加分隔符,这样非常麻烦。从而就有了CONCAT_WS的出现,它给我们提供了设置分隔符的参数(Separator),分隔符可以是一个字符串也可以是其他参数,但是不能为NULL,如果分隔符为空那么结果将会返回NULL。而且他会自动忽略任何分隔符参数后的NULL值,为NULL的数据不会进行拼接。使用方法:CONCAT_WS(separator,str,str1,NULL,…)。执行效果如下:
    在这里插入图片描述
      3. GROUP_CONCAT:看到GROUP应该就能想到分组,没错这个函数就是在CONCAT的基础上进行了分组,我想网上所说的列转行应该就是使用这个函数来实现的。它的使用方法:
    GROUP_CONCAT([DISTINCT] str,str1,… [Order BY ASC/DESC 排序字段] [Separator ‘分隔符’])。
    []中的语句代表可选,分隔符不写默认是以逗号分隔。其实使用这个函数就基本没必要去连接多个字符串了,他会按你设置好的分组情况把每组的需要连接的字符串连接起来,查询效果跟列转行差不多。执行效果如下:
    先看看基本查询的数据:
    在这里插入图片描述
      然后是GROUP_CONCAT后的数据:
    在这里插入图片描述
    注意:一定要进行分组,否则只会出现一条数据,连接的结果是所有数据的要连接的字段数据都连接到了一起。

    展开全文
  • MySql连接字符串总结

    2011-08-01 11:15:06
    MySql连接字符串总结 MySql连接字符串总结
  • MySQL中concat函数连接字符串)  MySQL中concat函数  使用方法:  CONCAT(str1,str2,…)   返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。  注意:  如果所有参数均...

    MySQL中concat函数(连接字符串)

          MySQL中concat函数
          使用方法:
          CONCAT(str1,str2,…)  

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

          注意:
          如果所有参数均为非二进制字符串,则结果为非二进制字符串。 
          如果自变量中含有任一二进制字符串,则结果为一个二进制字符串。
          一个数字参数被转化为与之相等的二进制字符串格式;若要避免这种情况,可使用显式类型 cast, 例如:
          SELECT CONCAT(CAST(int_col AS CHAR), char_col)

          MySQL的concat函数可以连接一个或者多个字符串,如
          mysql> select concat('10');
          +--------------+
          | concat('10') |
          +--------------+
          | 10   |
          +--------------+
          1 row in set (0.00 sec)

          mysql> select concat('11','22','33');
          +------------------------+
          | concat('11','22','33') |
          +------------------------+
          | 112233 |
          +------------------------+
          1 row in set (0.00 sec)

          MySQL的concat函数在连接字符串的时候,只要其中一个是NULL,那么将返回NULL
          mysql> select concat('11','22',null);
          +------------------------+
          | concat('11','22',null) |
          +------------------------+
          | NULL   |
          +------------------------+
          1 row in set (0.00 sec)

          MySQL中concat_ws函数
          使用方法: 
          CONCAT_WS(separator,str1,str2,...)

          CONCAT_WS() 代表 CONCAT With Separator ,是CONCAT()的特殊形式。第一个参数是其它参数的分隔符。分隔符的位置放在要连接的两个字符串之间。分隔符可以是一个字符串,也可以是其它参数。
          注意:
          如果分隔符为 NULL,则结果为 NULL。函数会忽略任何分隔符参数后的 NULL 值。

          如连接后以逗号分隔 
          mysql> select concat_ws(',','11','22','33');

          +-------------------------------+
          | concat_ws(',','11','22','33') |
          +-------------------------------+
          | 11,22,33 |
          +-------------------------------+
          1 row in set (0.00 sec)

          和MySQL中concat函数不同的是, concat_ws函数在执行的时候,不会因为NULL值而返回NULL 
          mysql> select concat_ws(',','11','22',NULL);
          +-------------------------------+
          | concat_ws(',','11','22',NULL) |
          +-------------------------------+
          | 11,22 |
          +-------------------------------+
          1 row in set (0.00 sec)

          MySQL中group_concat函数
          完整的语法如下:
          group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符'])

          基本查询

          mysql> select * from aa;
          +------+------+
          | id| name |
          +------+------+
          |1 | 10|
          |1 | 20|
          |1 | 20|
          |2 | 20|
          |3 | 200   |
          |3 | 500   |
          +------+------+
          6 rows in set (0.00 sec)

          以id分组,把name字段的值打印在一行,逗号分隔(默认)

          mysql> select id,group_concat(name) from aa group by id;
          +------+--------------------+
          | id| group_concat(name) |
          +------+--------------------+
          |1 | 10,20,20|
          |2 | 20 |
          |3 | 200,500|
          +------+--------------------+
          3 rows in set (0.00 sec)

          以id分组,把name字段的值打印在一行,分号分隔

          mysql> select id,group_concat(name separator ';') from aa group by id;
          +------+----------------------------------+
          | id| group_concat(name separator ';') |
          +------+----------------------------------+
          |1 | 10;20;20 |
          |2 | 20|
          |3 | 200;500   |
          +------+----------------------------------+
          3 rows in set (0.00 sec)

          以id分组,把去冗余的name字段的值打印在一行,

          逗号分隔

          mysql> select id,group_concat(distinct name) from aa group by id;
          +------+-----------------------------+
          | id| group_concat(distinct name) |
          +------+-----------------------------+
          |1 | 10,20|
          |2 | 20   |
          |3 | 200,500 |
          +------+-----------------------------+
          3 rows in set (0.00 sec)

          以id分组,把name字段的值打印在一行,逗号分隔,以name排倒序

          mysql> select id,group_concat(name order by name desc) from aa group by id;
          +------+---------------------------------------+
          | id| group_concat(name order by name desc) |
          +------+---------------------------------------+
          |1 | 20,20,10   |
          |2 | 20|
          |3 | 500,200|
          +------+---------------------------------------+
          3 rows in set (0.00 sec)

          repeat()函数

          用来复制字符串,如下'ab'表示要复制的字符串,2表示复制的份数

          mysql> select repeat('ab',2);

          +----------------+
          | repeat('ab',2) |
          +----------------+
          | abab           |
          +----------------+

          1 row in set (0.00 sec)

          又如
          mysql> select repeat('a',2);

          +---------------+
          | repeat('a',2) |
          +---------------+
          | aa            |
          +---------------+
          1 row in set (0.00 sec)

    截取字符串

    感觉上MySQL的字符串函数截取字符,比用程序截取(如PHP或JAVA)来得强大,所以在这里做一个记录,希望对大家有用。 
    函数: 
    1、从左开始截取字符串 
    left(str, length) 
    说明:left(被截取字段,截取长度) 
    例:select left(content,200) as abstract from my_content_t 
    2、从右开始截取字符串 
    right(str, length) 
    说明:right(被截取字段,截取长度) 
    例:select right(content,200) as abstract from my_content_t 
    3、截取字符串 
    substring(str, pos) 
    substring(str, pos, length) 
    说明:substring(被截取字段,从第几位开始截取) 
    substring(被截取字段,从第几位开始截取,截取长度) 
    例:select substring(content,5) as abstract from my_content_t 
    select substring(content,5,200) as abstract from my_content_t 
    (注:如果位数是负数 如-5 则是从后倒数位数,到字符串结束或截取的长度) 
    4、按关键字截取字符串 
    substring_index(str,delim,count) 
    说明:substring_index(被截取字段,关键字,关键字出现的次数) 
    例:select substring_index("blog.jb51.net","。",2) as abstract from my_content_t 
    结果:blog.jb51 
    (注:如果关键字出现的次数是负数 如-2 则是从后倒数,到字符串结束) 

    展开全文
  • 1、concat连接字符串: 从上图中可以看出,直接使用select concat就可以连接任意两个以上的字符串,同时也可以用来连接查询结果,一般情况中也是会用来连接查询结果。需要注意的是,如果连接的内容有null存在的...
    注:sql的移植性比较强,函数的移植性不强,一般为数据库软件特有,例如mysql有mysql的函数,oracle有oracle的函数。

    1、concat连接字符串:

    展开全文
  • Mysql字符串处理函数详细介绍总结 电脑资料 一简明 ASCII(char) 返回字符的ASCII码值 BIT_LENGTH(str) 返回字符串的比特长度 CONCAT(s1,s2,sn) 将s1,s2,sn连接字符串 CONCAT_WS(sep,s1,s2,sn) 将s1,s2,sn连接成...
  • mysql字符串连接函数

    2011-11-17 20:43:59
    MySQL的concat函数连接字符串的时候,只要其中一个是NULL,那么将返回NULL mysql> select concat('11','22',null); +------------------------+ | concat('11','22',null) | +------------------------+ | NULL | +...
  • 返回字符串str的最左面字符的ASCII代码值。如果str是空字符串,返回0。如果str是NULL,返回NULL。 二、ORD ORD(str) 如果字符串str最左面字符是一个多字节字符,通过以格式((first byte ASCII code)*256+(second ...
  • 本文实例讲述了MySQL截取和拆分字符串函数用法。分享给大家供大家参考,具体如下: 首先说截取字符串函数: SUBSTRING(commentid,9) 这个很简单,从第9个字符开始截取到最后。SUBSTRING的参数有三个,最后一个是...
  • MySQL的concat函数可以连接一个或者多个字符串,如 select concat('10'); 输出 10 select concat('11','22','33'); 输出112233 而Oracle的concat函数只能连接两个字符串select concat('11','22') from ...

    mysql concat()函数

    MySQL的concat函数可以连接一个或者多个字符串,如

    select concat('10');

    输出 10

    select concat('11','22','33');

    输出112233

    而Oracle的concat函数只能连接两个字符串select concat('11','22') from dual;

    需要注意MySQL的concat函数在连接字符串的时候,只要其中一个是NULL,那么将返回NULL

    select concat('11','22',null);

    输出NULL

    而Oracle的concat函数连接的时候,只要有一个字符串不是NULL,就不会返回NULL

    select concat('11',NULL) from dual;

    输出11

    concat_ws()函数, 表示concat with separator,即有分隔符的字符串连接

    如连接后以逗号分隔

    select concat_ws(',','11','22','33');

    输出11,22,33

    和concat不同的是, concat_ws函数在执行的时候,不会因为NULL值而返回NULL

    select concat_ws(',','11','22',NULL);

    将输出11,22

    group_concat()可用来行转列, Oracle没有这样的函数

    完整的语法如下

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

    如下例子:

    select * from aa;

    输出

       +------+------+
       | id   | name |
       +------+------+
       |    1 | 10   |
       |    1 | 20   |
       |    1 | 20   |
       |    2 | 20   |
       |    3 | 200  |
       |    3 | 500  |
       +------+------+
    
       6 rows in set (0.00 sec)
    

    以id分组,把name字段的值打印在一行,逗号分隔(默认)

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

    将输出:

           +------+--------------------+
           | id   | group_concat(name) |
           +------+--------------------+
           |    1 | 10,20,20           |
           |    2 | 20                 |
           |    3 | 200,500            |
           +------+--------------------+
          3 rows in set (0.00 sec)
    

    以id分组,把name字段的值打印在一行,分号分隔

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

    输出:

           +------+----------------------------------+
           | id   | group_concat(name separator ';') |
           +------+----------------------------------+
           |    1 | 10;20;20                         |
           |    2 | 20                               |
           |    3 | 200;500                          |
           +------+----------------------------------+
           3 rows in set (0.00 sec)
    

    以id分组,把去冗余的name字段的值打印在一行,逗号分隔

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

    输出

           +------+-----------------------------+
           | id   | group_concat(distinct name) |
           +------+-----------------------------+
           |    1 | 10,20                       |
           |    2 | 20                          |
           |    3 | 200,500                     |
           +------+-----------------------------+
           3 rows in set (0.00 sec)
    
    以id分组,把name字段的值打印在一行,逗号分隔,以name排倒序
    ```sql
    select id,group_concat(name order by name desc) from aa group by id;
    

    输出:

           +------+---------------------------------------+
           | id   | group_concat(name order by name desc) |
           +------+---------------------------------------+
           |    1 | 20,20,10                              |
           |    2 | 20                                    |
           |    3 | 500,200                               |
           +------+---------------------------------------+
           3 rows in set (0.00 sec)
    

    repeat()函数,用来复制字符串,如下'ab'表示要复制的字符串,2表示复制的份数

    select repeat('ab',2);
       +----------------+
       | repeat('ab',2) |
       +----------------+
       | abab           |
       +----------------+
    

    1 row in set (0.00 sec)

    SPACE(N) 函数。生成N个空格,如

    select space(3);

    输出:

       +----------+
       | space(3) |
       +----------+
       |          |
       +----------+
       1 row in set (0.00 sec)
    

    STRCMP(STR1,STR2) 字符串比较函数,该函数和字符集有关系,默认区分大小写

    • 若STR1和STR2相同, 则返回 0,
    • 若STR1小于STR2, 则返回 -1,
    • 若STR1大于STR2, 则返回 1
       select strcmp('abc','abc');

    输出0

    select strcmp('a','ab');

    输出-1

    select strcmp('abc','ab');

    输出1

    展开全文
  • Mysql 字符串函数汇总

    千次阅读 2017-05-13 12:12:11
    或许你已经发现字符串在程序世界中的重要性, 下边我们就来看看Mysql字符串的类型和函数Mysql 字符串类型 字符串类型 字节 描述及存储需求 char(M) M M为0~255之间的整数 varchar(M) ...
  • mysql 字符串函数

    千次阅读 2018-06-15 01:06:42
    1)说明:将字符串连接,可以是一个或多个字符串。若都是非二进制的字符,那么返回的结果也是非二进制的。若包含任何二进制字符,那么结果则是二进制的。若是数值型的,也将转换成非二进制的形式。若其中任意一个...
  • 资料出处:... ASCII(str) 返回字符串str的第一个字符的ASCII值(str是空串时返回0) mysql> select ASCII(’2′); -> 50 mysql> select ASCII(2); -> 50 mysql> select ASCII(’dete
  • mysql字符串函数

    千次阅读 2019-04-17 23:27:16
    如果字符串函数的长度大于max_allowed_packet系统变量的值,则字符串函数返回NULL。 对于操作字符串位置的函数,第一个位置的编号为1。 对于接受长度参数的函数,非整数参数四舍五入到最近的整数。 ASCII...
  • 详解MySQL连接字符串相关函数用法

    千次阅读 2018-07-24 21:43:58
    返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。 注意: 如果所有参数均为非二进制字符串,则结果为非二进制字符串。  如果自变量中含有任一二进制字符串,则结果为一个二进制字符...
  • python类型转换、数值操作类型转换 函数 描述 int(x [,base ]) 将x转换为一个整数 long(x [,base ]) 将x转换为一个长整数 float(x ) ... 将对象 x 转换为字符串 repr(x ) 将对象 x 转换为表达式字
  • MySQL字符串连接函数repeat()

    千次阅读 2013-09-08 14:20:06
    MySQL字符串连接函数repeat()的语法是我们都需要掌握的,下面就为您介绍一些该MySQL字符串连接函数的知识,供您参考学习。 MySQL字符串连接函数--repeat()函数函数用来复制字符串,如下'ab'表示要复制的字符...
  • MySql-字符串拼接函数

    万次阅读 2018-08-04 14:56:04
    CONCAT_WS:使用指定分隔符连接字符串 GROUP_CONCAT:连接指定列字符串 摘要  本文介绍MySql中的字符串拼接函数。 正文 CONCAT:最常用的字符串拼接函数 语法:CONCAT(str1,str2…) 说明:将str1...
  • 感觉上MySQL字符串函数截取字符,比用程序截取(如PHP或JAVA)来得强大,所以在这里做一个记录,希望对大家有用。 函数: 1、从左开始截取字符串 left(str, length) 说明:left(被截取字段,截取长度) 例:...
  • MySQL中concat函数 使用方法: CONCAT(str1,str2,…)  返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。...MySQL的concat函数可以连接一个或者多个字符串,如 mysql> select
  • Mysql连接字符串
  • MYSQL字符串聚合函数

    千次阅读 2019-08-07 21:22:01
    MYSQL字符串聚合函数学习笔记 mysql中可存储多种数据类型,varchar(字符串)则是其中一种最常见的类型。在对字符串类型进行读取时,我们有时候需要对取出的原始数据进行操作,这个操作在程序里很容易进行,但如果...
  • MySQL 中的常用字符串函数  函数 功能 CANCAT(S1,S2,…Sn) 连接S1,S2,…Sn 为一个字符串 INSERT(str,x,y,instr) 将字符串str 从第x 位置开始,y 个字符长的子串替换为字符串instr LOWER(str) 
  • 返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。 注意: 如果所有参数均为非二进制字符串,则结果为非二进制字符串。  如果自变量中含有任一二进制字符串,则结果为一个二进制...
  • MySQL 十大常用字符串函数

    多人点赞 2021-06-29 21:21:53
    MySQL 为我们提供了许多用于处理和分析数据的系统函数,本文给大家介绍 10 个常用的字符串函数,以及相关的其他函数。具体包括 CONCAT()、LOWER()、UPPER()、LENGTH()、SUBSTRING()、TRIM()、LPAD()/RPAD()、INSTR()...
  • MySQL中concat函数连接字符串

    千次阅读 2017-06-23 09:32:16
    返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。 注意: 如果所有参数均为非二进制字符串,则结果为非二进制字符串。  如果自变量中含有任一二进制字符串,则结果为一个二进制...
  • 关于MYSQL与MSSQL 字符串函数比较总结

    千次阅读 2014-07-14 22:18:56
    /* 关于MYSQL与MSSQL 字符串函数比较总结 */ -- 参考 MYSQL 5.1参考手册 -- 常用 字符串函数 1. ASCII  -- 返回值为字符串str 的最左字符的数值。假如str为空字符串,则返回值为 0 。假如str 为NULL,则返回值...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 128,002
精华内容 51,200
关键字:

mysql连接字符串函数

mysql 订阅