• mysql字符串操作相关函数用法总结


    功能用法简单例子一览表
    函数 功能 用法 例子
    left() 从字符串左边为边界返回相应长度的子字符串 left(str, length)
    mysql> select left('vssf',3);
    +----------------+
    | left('vssf',3) |
    +----------------+
    | vss            |
    +----------------+
    1 row in set (0.00 sec)
    right() 从字符串右边为边界返回相应长度的子字符串 rigth(str,length)
    mysql> select right('vssf',1);
    +-----------------+
    | right('vssf',1) |
    +-----------------+
    | f               |
    +-----------------+
    1 row in set (0.00 sec)
    substring() 根据起始位置和长度返回相应的子字符串 substring(str,pos,length)
    mysql> select substring('hello',1,1);
    +------------------------+
    | substring('hello',1,1) |
    +------------------------+
    | h                      |
    +------------------------+
    1 row in set (0.00 sec)
     
    mysql> select substring('hello',-4,1);
    +-------------------------+
    | substring('hello',-4,1) |
    +-------------------------+
    | e                       |
    +-------------------------+
    1 row in set (0.00 sec)
    substring_index()
    以某个字符(delim)为选取点,截取到该字符的所有字符.
    count为正数时从左到改字符,为负数时从该字符到右。
    如果找不到delim,则返回整个字符串
    substring_index(str,delim,count)
    mysql> select substring_index('hello.com.index','.',1);
    +------------------------------------------+
    | substring_index('hello.com.index','.',1) |
    +------------------------------------------+
    | hello                                    |
    +------------------------------------------+
    1 row in set (0.00 sec)
    ASCII() 返回字符串str最左边字符的ascii码值,如果是空字符串,则返回0,如果是null,则返回null。输入是整型,也当做字符串处理 ascii(str)
    mysql> select ascii('2');select ascii(2);
    +------------+
    | ascii('2') |
    +------------+
    |         50 |
    +------------+
    1 row in set (0.00 sec)
     
    +----------+
    | ascii(2) |
    +----------+
    |       50 |
    +----------+
    1 row in set (0.00 sec)
    length() 计算字符串长度 length(str)
    mysql> select length(user());
    +----------------+
    | length(user()) |
    +----------------+
    |             14 |
    +----------------+
    1 row in set (0.00 sec)
    locate() 返回子串substr在字符串str第一个出现的位置,从位置pos开始。如果substr不是在str里面,返回0 LOCATE(substr,str,pos)
    mysql> select locate('123','141234',2);
    +--------------------------+
    | locate('123','141234',2) |
    +--------------------------+
    |                        3 |
    +--------------------------+
    1 row in set (0.00 sec)
    instr() 返回子串substr在字符串str中的第一个出现的位置。这与有2个参数形式的LOCATE()相同,除了参数被颠倒 INSTR(str,substr)
    mysql> select instr('12345','123');
    +----------------------+
    | instr('12345','123') |
    +----------------------+
    |                    1 |
    +----------------------+
    1 row in set (0.00 sec)
    lpad() 返回字符串str,左面用字符串padstr填补直到str是len个字符长 LPAD (str,len,padstr)
    mysql> select LPAD('123',10,'456');
    +----------------------+
    | LPAD('123',10,'456') |
    +----------------------+
    | 4564564123           |
    +----------------------+
    1 row in set (0.00 sec)
    ltrim() 返回删除了其前置空格字符的字符串str LTRIM(str)
    mysql> select ltrim('   121');
    +-----------------+
    | ltrim('   121') |
    +-----------------+
    | 121             |
    +-----------------+
    1 row in set (0.00 sec)
    rtrim() 返回删除了其拖后空格字符的字符串str RTRIM(str)
    mysql> select rtrim('121  ');
    +----------------+
    | rtrim('121  ') |
    +----------------+
    | 121            |
    +----------------+
    1 row in set (0.00 sec)
    ucase() 返回字符串str,根据当前字符集映射(缺省是ISO-8859-1 Latin1)把所有的字符改变成大写。该函数对多字节是可靠的 UCASE(str)
    mysql> select UCASE('sae');
    +--------------+
    | UCASE('sae') |
    +--------------+
    | SAE          |
    +--------------+
    1 row in set (0.00 sec)
    lcase() 返回字符串str,根据当前字符集映射(缺省是ISO-8859-1 Latin1)把所有的字符改变成小写。该函数对多字节是可靠的。 LCASE(str)
    mysql> select LCASE('sS');
    +-------------+
    | LCASE('sS') |
    +-------------+
    | ss          |
    +-------------+
    1 row in set (0.00 sec)
    make_set() 返回一个集合 (包含由“,”字符分隔的子串组成的一个字符串),由相应的位在bits集合中的的字符串组成。str1对应于位0,str2对应位1,等等。在str1, str2, ...中的NULL串不添加到结果中。 MAKE_SET(bits,str1,str2,...)
    mysql> select MAKE_SET(1|2,user,pass) from ctf;
    +-------------------------+
    | MAKE_SET(1|2,user,pass) |
    +-------------------------+
    | 1admin,11               |
    | 4admin
    ,pass            |
    | admin123,123            |
    | admin,test
                 |
    +-------------------------+
    4 rows in set (0.00 sec)
    reverse() 返回颠倒字符顺序的字符串str REVERSE(str)
    mysql> select REVERSE('123');
    +----------------+
    | REVERSE('123') |
    +----------------+
    | 321            |
    +----------------+
    1 row in set (0.00 sec)
    space() 返回由N个空格字符组成的一个字符串 SPACE(N)
    mysql> select concat(1,SPACE(2),3);
    +----------------------+
    | concat(1,SPACE(2),3) |
    +----------------------+
    | 1  3                 |
    +----------------------+
    1 row in set (0.00 sec)
    soundex 返回str的一个同音字符串。听起来“大致相同”的2个字符串应该有相同的同音字符串。一个“标准”的同音字符串长是4个字符,但是SOUNDEX()函数返回一个任意长的字符串。你可以在结果上使用SUBSTRING()得到一个“标准”的 同音串。所有非数字字母字符在给定的字符串中被忽略。所有在A-Z之外的字符国际字母被当作元音。 SOUNDEX(str)
    mysql> select soundex('hello');
    +------------------+
    | soundex('hello') |
    +------------------+
    | H400             |
    +------------------+
    1 row in set (0.00 sec)
    trim() 返回字符串str,其所有remstr前缀或后缀被删除了。如果没有修饰符BOTH、LEADING或TRAILING给出,BOTH被假定。如果remstr没被指定,空格被删除。 TRIM([[BOTH | LEADING | TRAILING] [remstr] FROM] str) 
    mysql> select trim(' dsf ');
    +---------------+
    | trim(' dsf ') |
    +---------------+
    | dsf           |
    +---------------+
    1 row in set (0.00 sec)
     
    mysql> select trim(leading 'x' from 'xxxbarxxx');
    +------------------------------------+
    | trim(leading 'x' from 'xxxbarxxx') |
    +------------------------------------+
    | barxxx                             |
    +------------------------------------+
    1 row in set (0.00 sec)
     
    mysql> select trim(trailing 'x' from 'xxxbarxxx');
    +-------------------------------------+
    | trim(trailing 'x' from 'xxxbarxxx') |
    +-------------------------------------+
    | xxxbar                              |
    +-------------------------------------+
    1 row in set (0.00 sec)
    relace() 返回字符串str,其字符串from_str的所有出现由字符串to_str代替 REPLACE(str,from_str,to_str)
    mysql> select replace('www.ok.com','w','q');
    +-------------------------------+
    | replace('www.ok.com','w','q') |
    +-------------------------------+
    | qqq.ok.com                    |
    +-------------------------------+
    1 row in set (0.00 sec)
    repeat() 返回由重复countTimes次的字符串str组成的一个字符串。如果count <= 0,返回一个空字符串。如果str或count是NULL,返回NULL。 REPEAT(str,count)
    mysql> select repeat('223',2);
    +-----------------+
    | repeat('223',2) |
    +-----------------+
    | 223223          |
    +-----------------+
    1 row in set (0.00 sec)
    insert() 返回字符串str,在位置pos起始的子串且len个字符长得子串由字符串newstr代替 INSERT(str,pos,len,newstr)
    mysql> select insert('dsfhdsa',3,4,'ww');
    +----------------------------+
    | insert('dsfhdsa',3,4,'ww') |
    +----------------------------+
    | dswwa                      |
    +----------------------------+
    1 row in set (0.00 sec)
    elt() 如果N= 1,返回str1,如果N= 2,返回str2,等等。如果N小于1或大于参数个数,返回NULL。ELT()是FIELD()反运算 ELT(N,str1,str2,str3,...)
    mysql> select elt(1,user(),version());
    +-------------------------+
    | elt(1,user(),version()) |
    +-------------------------+
    | root@localhost          |
    +-------------------------+
    1 row in set (0.00 sec)
     
    mysql> select elt(2,user(),version());
    +-------------------------+
    | elt(2,user(),version()) |
    +-------------------------+
    | 5.5.47                  |
    +-------------------------+
    1 row in set (0.00 sec)
    field() 返回str在str1, str2, str3, ...清单的索引。如果str没找到,返回0。FIELD()是ELT()反运算 FIELD(str,str1,str2,str3,...)
    mysql> select field('v','he','hekl');
    +------------------------+
    | field('v','he','hekl') |
    +------------------------+
    |                      0 |
    +------------------------+
    1 row in set (0.00 sec)
    mid() 根据起始位置和长度返回相应的子字符串,与substring一样的用法 MID(ColumnName, Start [, Length])
    mysql> select mid('sfsdf',2,1);
    +------------------+
    | mid('sfsdf',2,1) |
    +------------------+
    | f                |
    +------------------+
    1 row in set (0.00 sec)
     
    mysql> select mid('sfsdf',2);
    +----------------+
    | mid('sfsdf',2) |
    +----------------+
    | fsdf           |
    +----------------+
    1 row in set (0.00 sec)
    concat() 连接参数str1,str2等产生字符串,若参数中包含有NULL,则直接返回null CONCAT(str1,str2,…)
    mysql> select concat('1','2');
    +-----------------+
    | concat('1','2') |
    +-----------------+
    | 12              |
    +-----------------+
    1 row in set (0.00 sec)
     
    mysql> select concat('1','2',null);
    +----------------------+
    | concat('1','2',null) |
    +----------------------+
    | NULL                 |
    +----------------------+
    1 row in set (0.00 sec)
    concat_wd() 连接参数产生字符串,可自定义分隔符,参数中有null,也不会返回null,正常返回其他字符串连接的结果 CONCAT_WS(separator,str1,str2,...)
    mysql> select concat_ws(',','2','3',null);
    +-----------------------------+
    | concat_ws(',','2','3',null) |
    +-----------------------------+
    | 2,3                         |
    +-----------------------------+
    1 row in set (0.00 sec)
    group_concat() 连接参数产生字符串,可定义分隔符,可去重,可排序
    group_concat([DISTINCT] 要连接的
    字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符'])
    mysql> select group_concat(user,pass) from ctf;
    +---------------------------------------------+
    | group_concat(user,pass)                     |
    +---------------------------------------------+
    | 1admin11,4admin
    pass,admin123123,admintest
     |
    +---------------------------------------------+
    1 row in set (0.00 sec)
  • 相关阅读:
    Asp.net操作Excel----NPOI
    Python第一模块
    Sping笔记一览
    IO流技术一览
    事务技术一览
    日常问题记录
    分页与JDBC显示文档。
    分页技术与JDBC一览
    JDBC 技术开发
    MYSQL
  • 原文地址:https://www.cnblogs.com/r00tuser/p/7368370.html
Copyright © 2020-2023  润新知