字符串函数
是最常用的的一种函数,在一个具体应用中通常会综合几个甚至几类函数来实现相应的应用:
1、LOWER(column|str):将字符串参数值转换为全小写字母后返回
1 2 3 4 5 6 |
<span style="font-size: 16px;">mysql> <span style="color: rgba(0, 0, 255, 1);">select</span> lower(<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">SQL Course</span><span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(0, 0, 0, 1);">); </span>+---------------------+ | lower(<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">SQL Course</span><span style="color: rgba(128, 0, 0, 1);">'</span>) | +---------------------+ | sql course | +---------------------+</span> |
2、UPPER(column|str):将字符串参数值转换为全大写字母后返回
1 2 3 4 5 6 |
<span style="font-size: 16px;">mysql> <span style="color: rgba(0, 0, 255, 1);">select</span> upper(<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">Use MYsql</span><span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(0, 0, 0, 1);">); </span>+--------------------+ | upper(<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">Use MYsql</span><span style="color: rgba(128, 0, 0, 1);">'</span>) | +--------------------+ | USE MYSQL | +--------------------+</span> |
3、CONCAT(column|str1, column|str2,…):将多个字符串参数首尾相连后返回
1 2 3 4 5 6 |
<span style="font-size: 16px;">mysql> <span style="color: rgba(0, 0, 255, 1);">select</span> concat(<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">My</span><span style="color: rgba(128, 0, 0, 1);">'</span>,<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">S</span><span style="color: rgba(128, 0, 0, 1);">'</span>,<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">QL</span><span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(0, 0, 0, 1);">); </span>+-----------------------+ | concat(<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">My</span><span style="color: rgba(128, 0, 0, 1);">'</span>,<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">S</span><span style="color: rgba(128, 0, 0, 1);">'</span>,<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">QL</span><span style="color: rgba(128, 0, 0, 1);">'</span>) | +-----------------------+ | MySQL | +-----------------------+</span> |
如果有任何参数为null,则函数返回null
1 2 3 4 5 6 |
<span style="font-size: 16px;">mysql> <span style="color: rgba(0, 0, 255, 1);">select</span> concat(<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">My</span><span style="color: rgba(128, 0, 0, 1);">'</span>,<span style="color: rgba(0, 0, 255, 1);">null</span>,<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">QL</span><span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(0, 0, 0, 1);">); </span>+------------------------+ | concat(<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">My</span><span style="color: rgba(128, 0, 0, 1);">'</span>,<span style="color: rgba(0, 0, 255, 1);">null</span>,<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">QL</span><span style="color: rgba(128, 0, 0, 1);">'</span>) | +------------------------+ | NULL | +------------------------+</span> |
如果参数是数字,则自动转换为字符串
1 2 3 4 5 6 |
<span style="font-size: 16px;">mysql> <span style="color: rgba(0, 0, 255, 1);">select</span> concat(<span style="color: rgba(128, 0, 128, 1);">14.3</span>,<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">mysql</span><span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(0, 0, 0, 1);">); </span>+----------------------+ | concat(<span style="color: rgba(128, 0, 128, 1);">14.3</span>,<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">mysql</span><span style="color: rgba(128, 0, 0, 1);">'</span>) | +----------------------+ | <span style="color: rgba(128, 0, 128, 1);">14</span>.3mysql | +----------------------+</span> |
4、CONCAT_WS(separator,str1,str2,…):将多个字符串参数以给定的分隔符separator首尾相连后返回
1 2 3 4 5 6 |
<span style="font-size: 16px;">mysql> <span style="color: rgba(0, 0, 255, 1);">select</span> concat_ws(<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">;</span><span style="color: rgba(128, 0, 0, 1);">'</span>,<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">First name</span><span style="color: rgba(128, 0, 0, 1);">'</span>,<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">Second name</span><span style="color: rgba(128, 0, 0, 1);">'</span>,<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">Last name</span><span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(0, 0, 0, 1);">); </span>+-------------------------------------------------------+ | concat_ws(<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">;</span><span style="color: rgba(128, 0, 0, 1);">'</span>,<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">First name</span><span style="color: rgba(128, 0, 0, 1);">'</span>,<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">Second name</span><span style="color: rgba(128, 0, 0, 1);">'</span>,<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">Last name</span><span style="color: rgba(128, 0, 0, 1);">'</span>) | +-------------------------------------------------------+ | First name;Second name;Last name | +-------------------------------------------------------+</span> |
!!也就是函数圆括号里的第一个项目用来指定分隔符
注意:如果有任何参数为null,则函数不返回null,而是直接忽略它
1 2 3 4 5 6 |
<span style="font-size: 16px;">mysql> <span style="color: rgba(0, 0, 255, 1);">select</span> concat_ws(<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">,</span><span style="color: rgba(128, 0, 0, 1);">'</span>,<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">id</span><span style="color: rgba(128, 0, 0, 1);">'</span>,<span style="color: rgba(0, 0, 255, 1);">null</span>,<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">name</span><span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(0, 0, 0, 1);">); </span>+---------------------------------+ | concat_ws(<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">,</span><span style="color: rgba(128, 0, 0, 1);">'</span>,<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">id</span><span style="color: rgba(128, 0, 0, 1);">'</span>,<span style="color: rgba(0, 0, 255, 1);">null</span>,<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">name</span><span style="color: rgba(128, 0, 0, 1);">'</span>) | +---------------------------------+ | id,name | +---------------------------------+</span> |
打开和关闭管道符号“|”的连接功能
PIPES_AS_CONCAT:将“||”视为字符串的连接操作符而非或运算符
|| 管道连接符:
基本格式:
mysql> select 列名1 || 列名2 || 列名3 from 表名;
在mysql中,进行上式连接查询之后,会将查询结果集在一列中显示(字符串连接),列名是‘列名1 || 列名2 || 列名3’;
1 2 3 4 5 6 7 8 9 10 11 |
<span style="font-size: 16px;">mysql> <span style="color: rgba(0, 0, 255, 1);">select</span> s_no || s_name ||<span style="color: rgba(0, 0, 0, 1);"> s_age </span>-> <span style="color: rgba(0, 0, 255, 1);">from</span><span style="color: rgba(0, 0, 0, 1);"> student; </span>+-------------------------+ | s_no || s_name || s_age | +-------------------------+ | 1001张三23 | | 1002李四19 | | 1003马五20 | | 1004甲六17 | | 1005乙七22 | +-------------------------+</span> |
注意:
①如果不显示结果,是因为sql_mode参数中没有PIPES_AS_CONCAT,只要给sql_mode参数加入PIPES_AS_CONCAT,就可以实现像CONCAT一样的功能;
②如果不给sql_mode参数加入PIPES_AS_CONCAT的话,|| 默认是or的意思,查询结果是一列显示是1。
5、SUBSTR(str,pos[,len]):从源字符串str中的指定位置pos开始取一个字串并返回
注意:
①len指定子串的长度,如果省略则一直取到字符串的末尾;len为负值表示从源字符串的尾部开始取起。
②函数SUBSTR()是函数SUBSTRING()的同义词。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
<span style="font-size: 16px;">mysql> <span style="color: rgba(0, 0, 255, 1);">select</span> substring(<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">hello world</span><span style="color: rgba(128, 0, 0, 1);">'</span>,<span style="color: rgba(128, 0, 128, 1);">5</span><span style="color: rgba(0, 0, 0, 1);">); </span>+----------------------------+ | substring(<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">hello world</span><span style="color: rgba(128, 0, 0, 1);">'</span>,<span style="color: rgba(128, 0, 128, 1);">5</span>) | +----------------------------+ | o world | +----------------------------+<span style="color: rgba(0, 0, 0, 1);"> mysql</span>> <span style="color: rgba(0, 0, 255, 1);">select</span> substr(<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">hello world</span><span style="color: rgba(128, 0, 0, 1);">'</span>,<span style="color: rgba(128, 0, 128, 1);">5</span>,<span style="color: rgba(128, 0, 128, 1);">3</span><span style="color: rgba(0, 0, 0, 1);">); </span>+---------------------------+ | substr(<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">hello world</span><span style="color: rgba(128, 0, 0, 1);">'</span>,<span style="color: rgba(128, 0, 128, 1);">5</span>,<span style="color: rgba(128, 0, 128, 1);">3</span>) | +---------------------------+ | o w | +---------------------------+<span style="color: rgba(0, 0, 0, 1);"> mysql</span>> <span style="color: rgba(0, 0, 255, 1);">select</span> substr(<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">hello world</span><span style="color: rgba(128, 0, 0, 1);">'</span>,-<span style="color: rgba(128, 0, 128, 1);">5</span><span style="color: rgba(0, 0, 0, 1);">); </span>+--------------------------+ | substr(<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">hello world</span><span style="color: rgba(128, 0, 0, 1);">'</span>,-<span style="color: rgba(128, 0, 128, 1);">5</span>) | +--------------------------+ | world | +--------------------------+</span> |
6、LENGTH(str):返回字符串的存储长度
1 2 3 4 5 6 |
<span style="font-size: 16px;">mysql> <span style="color: rgba(0, 0, 255, 1);">select</span> length(<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">text</span><span style="color: rgba(128, 0, 0, 1);">'</span>),length(<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">你好</span><span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(0, 0, 0, 1);">); </span>+----------------+------------------+ | length(<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">text</span><span style="color: rgba(128, 0, 0, 1);">'</span>) | length(<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">你好</span><span style="color: rgba(128, 0, 0, 1);">'</span>) | +----------------+------------------+ | <span style="color: rgba(128, 0, 128, 1);">4</span> | <span style="color: rgba(128, 0, 128, 1);">6</span> | +----------------+------------------+</span> |
注意:编码方式不同字符串的存储长度就不一样(‘你好’:utf8是6,gbk是4)
7、CHAR_LENGTH(str):返回字符串中的字符个数
1 2 3 4 5 6 |
<span style="font-size: 16px;">mysql> <span style="color: rgba(0, 0, 255, 1);">select</span> char_length(<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">text</span><span style="color: rgba(128, 0, 0, 1);">'</span>),char_length(<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">你好</span><span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(0, 0, 0, 1);">); </span>+---------------------+-----------------------+ | char_length(<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">text</span><span style="color: rgba(128, 0, 0, 1);">'</span>) | char_length(<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">你好</span><span style="color: rgba(128, 0, 0, 1);">'</span>) | +---------------------+-----------------------+ | <span style="color: rgba(128, 0, 128, 1);">4</span> | <span style="color: rgba(128, 0, 128, 1);">2</span> | +---------------------+-----------------------+</span> |
8、INSTR(str, substr):从源字符串str中返回子串substr第一次出现的位置
1 2 3 4 5 6 |
<span style="font-size: 16px;">mysql> <span style="color: rgba(0, 0, 255, 1);">select</span> instr(<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">foobarbar</span><span style="color: rgba(128, 0, 0, 1);">'</span>,<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">bar</span><span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(0, 0, 0, 1);">); </span>+--------------------------+ | instr(<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">foobarbar</span><span style="color: rgba(128, 0, 0, 1);">'</span>,<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">bar</span><span style="color: rgba(128, 0, 0, 1);">'</span>) | +--------------------------+ | <span style="color: rgba(128, 0, 128, 1);">4</span> | +--------------------------+</span> |
9、LPAD(str, len, padstr):在源字符串的左边填充给定的字符padstr到指定的长度len,返回填充后的字符串
1 2 3 4 5 6 |
<span style="font-size: 16px;">mysql> <span style="color: rgba(0, 0, 255, 1);">select</span> lpad(<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">hi</span><span style="color: rgba(128, 0, 0, 1);">'</span>,<span style="color: rgba(128, 0, 128, 1);">5</span>,<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">??</span><span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(0, 0, 0, 1);">); </span>+-------------------+ | lpad(<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">hi</span><span style="color: rgba(128, 0, 0, 1);">'</span>,<span style="color: rgba(128, 0, 128, 1);">5</span>,<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">??</span><span style="color: rgba(128, 0, 0, 1);">'</span>) | +-------------------+ | ???hi | +-------------------+</span> |
10、RPAD(str, len, padstr):在源字符串的右边填充给定的字符padstr到指定的长度len,返回填充后的字符串
1 2 3 4 5 6 |
<span style="font-size: 16px;">mysql> <span style="color: rgba(0, 0, 255, 1);">select</span> rpad(<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">hi</span><span style="color: rgba(128, 0, 0, 1);">'</span>,<span style="color: rgba(128, 0, 128, 1);">6</span>,<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">??</span><span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(0, 0, 0, 1);">); </span>+-------------------+ | rpad(<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">hi</span><span style="color: rgba(128, 0, 0, 1);">'</span>,<span style="color: rgba(128, 0, 128, 1);">6</span>,<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">??</span><span style="color: rgba(128, 0, 0, 1);">'</span>) | +-------------------+ | hi???? | +-------------------+</span> |
11、TRIM([{BOTH | LEADING | TRAILING} [remstr] FROM] str), TRIM([remstr FROM] str):
从源字符串str中去掉两端、前缀或后缀字符remstr并返回;
如果不指定remstr,则去掉str两端的空格;
不指定BOTH、LEADING、TRAILING ,则默认为 BOTH。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
<span style="font-size: 16px;"><span style="color: rgba(0, 0, 0, 1);">mysql</span>> <span style="color: rgba(0, 0, 255, 1);">select</span> trim(<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);"> bar </span><span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(0, 0, 0, 1);">); </span>+-----------------+ | trim(<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);"> bar </span><span style="color: rgba(128, 0, 0, 1);">'</span>) | +-----------------+ | bar | +-----------------+<span style="color: rgba(0, 0, 0, 1);"> mysql</span>> <span style="color: rgba(0, 0, 255, 1);">select</span> trim(leading <span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">x</span><span style="color: rgba(128, 0, 0, 1);">'</span> <span style="color: rgba(0, 0, 255, 1);">from</span> <span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">xxxbarxxx</span><span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(0, 0, 0, 1);">); </span>+------------------------------------+ | trim(leading <span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">x</span><span style="color: rgba(128, 0, 0, 1);">'</span> <span style="color: rgba(0, 0, 255, 1);">from</span> <span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">xxxbarxxx</span><span style="color: rgba(128, 0, 0, 1);">'</span>) | +------------------------------------+ | barxxx | +------------------------------------+<span style="color: rgba(0, 0, 0, 1);"> mysql</span>> <span style="color: rgba(0, 0, 255, 1);">select</span> trim(both <span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">x</span><span style="color: rgba(128, 0, 0, 1);">'</span> <span style="color: rgba(0, 0, 255, 1);">from</span> <span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">xxxbarxxx</span><span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(0, 0, 0, 1);">); </span>+---------------------------------+ | trim(both <span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">x</span><span style="color: rgba(128, 0, 0, 1);">'</span> <span style="color: rgba(0, 0, 255, 1);">from</span> <span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">xxxbarxxx</span><span style="color: rgba(128, 0, 0, 1);">'</span>) | +---------------------------------+ | bar | +---------------------------------+<span style="color: rgba(0, 0, 0, 1);"> mysql</span>> <span style="color: rgba(0, 0, 255, 1);">select</span> trim(trailing <span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">xyz</span><span style="color: rgba(128, 0, 0, 1);">'</span> <span style="color: rgba(0, 0, 255, 1);">from</span> <span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">barxxyz</span><span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(0, 0, 0, 1);">); </span>+-------------------------------------+ | trim(trailing <span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">xyz</span><span style="color: rgba(128, 0, 0, 1);">'</span> <span style="color: rgba(0, 0, 255, 1);">from</span> <span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">barxxyz</span><span style="color: rgba(128, 0, 0, 1);">'</span>) | +-------------------------------------+ | barx | +-------------------------------------+</span> |
12、REPLACE(str, from_str, to_str):在源字符串str中查找所有的子串form_str(大小写敏感),找到后使用替代字符串to_str替换它。返回替换后的字符串
1 2 3 4 5 6 |
<span style="font-size: 16px;">mysql> <span style="color: rgba(0, 0, 255, 1);">select</span> replace(<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">www.mysql.com</span><span style="color: rgba(128, 0, 0, 1);">'</span>,<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">w</span><span style="color: rgba(128, 0, 0, 1);">'</span>,<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">Ww</span><span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(0, 0, 0, 1);">); </span>+-----------------------------------+ | replace(<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">www.mysql.com</span><span style="color: rgba(128, 0, 0, 1);">'</span>,<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">w</span><span style="color: rgba(128, 0, 0, 1);">'</span>,<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">Ww</span><span style="color: rgba(128, 0, 0, 1);">'</span>) | +-----------------------------------+ | WwWwWw.mysql.com | +-----------------------------------+</span> |
13、LTRIM(str),RTRIM(str):去掉字符串的左边或右边的空格(左对齐、右对齐)
1 2 3 4 5 6 |
<span style="font-size: 16px;">mysql> SELECT ltrim(<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);"> barbar </span><span style="color: rgba(128, 0, 0, 1);">'</span>) rs1, rtrim(<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);"> barbar </span><span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(0, 0, 0, 1);">) rs2; </span>+-----------+-----------+ | rs1 | rs2 | +-----------+-----------+ | barbar | barbar | +-----------+-----------+</span> |
14、REPEAT(str, count):将字符串str重复count次后返回
1 2 3 4 5 6 |
<span style="font-size: 16px;">mysql> <span style="color: rgba(0, 0, 255, 1);">select</span> repeat(<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">MySQL</span><span style="color: rgba(128, 0, 0, 1);">'</span>,<span style="color: rgba(128, 0, 128, 1);">3</span><span style="color: rgba(0, 0, 0, 1);">); </span>+-------------------+ | repeat(<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">MySQL</span><span style="color: rgba(128, 0, 0, 1);">'</span>,<span style="color: rgba(128, 0, 128, 1);">3</span>) | +-------------------+ | MySQLMySQLMySQL | +-------------------+</span> |
15、REVERSE(str):将字符串str反转后返回
1 2 3 4 5 6 |
<span style="font-size: 16px;">mysql> <span style="color: rgba(0, 0, 255, 1);">select</span> reverse(<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">abcdef</span><span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(0, 0, 0, 1);">); </span>+-------------------+ | reverse(<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">abcdef</span><span style="color: rgba(128, 0, 0, 1);">'</span>) | +-------------------+ | fedcba | +-------------------+</span> |
16、CHAR(N,… [USING charset_name]):将每个参数N解释为整数(字符的编码),并返回每个整数对应的字符所构成的字符串(NULL值被忽略)。
1 2 3 4 5 6 |
<span style="font-size: 16px;">mysql> <span style="color: rgba(0, 0, 255, 1);">select</span> <span style="color: rgba(0, 0, 255, 1);">char</span>(<span style="color: rgba(128, 0, 128, 1);">77</span>,<span style="color: rgba(128, 0, 128, 1);">121</span>,<span style="color: rgba(128, 0, 128, 1);">83</span>,<span style="color: rgba(128, 0, 128, 1);">81</span>,<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">76</span><span style="color: rgba(128, 0, 0, 1);">'</span>),<span style="color: rgba(0, 0, 255, 1);">char</span>(<span style="color: rgba(128, 0, 128, 1);">77</span>,<span style="color: rgba(128, 0, 128, 1);">77.3</span>,<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">77.3</span><span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(0, 0, 0, 1);">); </span>+-------------------------+----------------------+ | <span style="color: rgba(0, 0, 255, 1);">char</span>(<span style="color: rgba(128, 0, 128, 1);">77</span>,<span style="color: rgba(128, 0, 128, 1);">121</span>,<span style="color: rgba(128, 0, 128, 1);">83</span>,<span style="color: rgba(128, 0, 128, 1);">81</span>,<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">76</span><span style="color: rgba(128, 0, 0, 1);">'</span>) | <span style="color: rgba(0, 0, 255, 1);">char</span>(<span style="color: rgba(128, 0, 128, 1);">77</span>,<span style="color: rgba(128, 0, 128, 1);">77.3</span>,<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">77.3</span><span style="color: rgba(128, 0, 0, 1);">'</span>) | +-------------------------+----------------------+ | MySQL | MMM | +-------------------------+----------------------+</span> |
默认情况下,函数返回二进制字符串,若想返回针对特定字符集的字符串,使用using选项
1 2 3 4 5 6 |
<span style="font-size: 16px;">mysql> SELECT charset(<span style="color: rgba(0, 0, 255, 1);">char</span>(<span style="color: rgba(128, 0, 128, 1);">0x65</span>)), charset(<span style="color: rgba(0, 0, 255, 1);">char</span>(<span style="color: rgba(128, 0, 128, 1);">0x65</span><span style="color: rgba(0, 0, 0, 1);"> USING utf8)); </span>+---------------------+--------------------------------+ | charset(<span style="color: rgba(0, 0, 255, 1);">char</span>(<span style="color: rgba(128, 0, 128, 1);">0x65</span>)) | charset(<span style="color: rgba(0, 0, 255, 1);">char</span>(<span style="color: rgba(128, 0, 128, 1);">0x65</span> USING utf8)) | +---------------------+--------------------------------+ | binary | utf8 | +---------------------+--------------------------------+</span> |
17、FORMAT(X,D[,locale]):以格式‘#,###,###.##’格式化数字X
D指定小数位数
locale指定国家语言(默认的locale为en_US)
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<span style="font-size: 16px;">mysql> SELECT format(<span style="color: rgba(128, 0, 128, 1);">12332.123456</span>, <span style="color: rgba(128, 0, 128, 1);">4</span>),format(<span style="color: rgba(128, 0, 128, 1);">12332.2</span>,<span style="color: rgba(128, 0, 128, 1);">0</span><span style="color: rgba(0, 0, 0, 1);">); </span>+-------------------------+-------------------+ | format(<span style="color: rgba(128, 0, 128, 1);">12332.123456</span>, <span style="color: rgba(128, 0, 128, 1);">4</span>) | format(<span style="color: rgba(128, 0, 128, 1);">12332.2</span>,<span style="color: rgba(128, 0, 128, 1);">0</span>) | +-------------------------+-------------------+ | <span style="color: rgba(128, 0, 128, 1);">12</span>,<span style="color: rgba(128, 0, 128, 1);">332.1235</span> | <span style="color: rgba(128, 0, 128, 1);">12</span>,<span style="color: rgba(128, 0, 128, 1);">332</span> | +-------------------------+-------------------+<span style="color: rgba(0, 0, 0, 1);"> mysql</span>> SELECT format(<span style="color: rgba(128, 0, 128, 1);">12332.2</span>,<span style="color: rgba(128, 0, 128, 1);">2</span>,<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">de_DE</span><span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(0, 0, 0, 1);">); </span>+---------------------------+ | format(<span style="color: rgba(128, 0, 128, 1);">12332.2</span>,<span style="color: rgba(128, 0, 128, 1);">2</span>,<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">de_DE</span><span style="color: rgba(128, 0, 0, 1);">'</span>) | +---------------------------+ | <span style="color: rgba(128, 0, 128, 1);">12.332</span>,<span style="color: rgba(128, 0, 128, 1);">20</span> | +---------------------------+</span> |
18、SPACE(N):返回由N个空格构成的字符串
1 2 3 4 5 6 |
<span style="font-size: 16px;">mysql> <span style="color: rgba(0, 0, 255, 1);">select</span> space(<span style="color: rgba(128, 0, 128, 1);">3</span><span style="color: rgba(0, 0, 0, 1);">); </span>+----------+ | space(<span style="color: rgba(128, 0, 128, 1);">3</span>) | +----------+ | | +----------+</span> |
19、LEFT(str, len):返回最左边的len长度的子串
1 2 3 4 5 6 |
<span style="font-size: 16px;">mysql> <span style="color: rgba(0, 0, 255, 1);">select</span> left(<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">chinaitsoft</span><span style="color: rgba(128, 0, 0, 1);">'</span>,<span style="color: rgba(128, 0, 128, 1);">5</span><span style="color: rgba(0, 0, 0, 1);">); </span>+-----------------------+ | left(<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">chinaitsoft</span><span style="color: rgba(128, 0, 0, 1);">'</span>,<span style="color: rgba(128, 0, 128, 1);">5</span>) | +-----------------------+ | china | +-----------------------+</span> |
20、RIGHT(str, len):返回最右边的len长度的子串
1 2 3 4 5 6 |
<span style="font-size: 16px;">mysql> <span style="color: rgba(0, 0, 255, 1);">select</span> right(<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">chinaitsoft</span><span style="color: rgba(128, 0, 0, 1);">'</span>,<span style="color: rgba(128, 0, 128, 1);">5</span><span style="color: rgba(0, 0, 0, 1);">); </span>+------------------------+ | right(<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">chinaitsoft</span><span style="color: rgba(128, 0, 0, 1);">'</span>,<span style="color: rgba(128, 0, 128, 1);">5</span>) | +------------------------+ | tsoft | +------------------------+</span> |
21、STRCMP(expr1,expr2):如果两个字符串是一样的则返回0;如果第一个小于第二个则返回-1;否则返回1
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<span style="font-size: 16px;">mysql> <span style="color: rgba(0, 0, 255, 1);">select</span> strcmp(<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">text</span><span style="color: rgba(128, 0, 0, 1);">'</span>,<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">text</span><span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(0, 0, 0, 1);">); </span>+-----------------------+ | strcmp(<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">text</span><span style="color: rgba(128, 0, 0, 1);">'</span>,<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">text</span><span style="color: rgba(128, 0, 0, 1);">'</span>) | +-----------------------+ | <span style="color: rgba(128, 0, 128, 1);">0</span> | +-----------------------+<span style="color: rgba(0, 0, 0, 1);"> mysql</span>> SELECT strcmp(<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">text</span><span style="color: rgba(128, 0, 0, 1);">'</span>, <span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">text2</span><span style="color: rgba(128, 0, 0, 1);">'</span>),strcmp(<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">text2</span><span style="color: rgba(128, 0, 0, 1);">'</span>, <span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">text</span><span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(0, 0, 0, 1);">); </span>+-------------------------+-------------------------+ | strcmp(<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">text</span><span style="color: rgba(128, 0, 0, 1);">'</span>, <span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">text2</span><span style="color: rgba(128, 0, 0, 1);">'</span>) | strcmp(<span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">text2</span><span style="color: rgba(128, 0, 0, 1);">'</span>, <span style="color: rgba(128, 0, 0, 1);">'</span><span style="color: rgba(128, 0, 0, 1);">text</span><span style="color: rgba(128, 0, 0, 1);">'</span>) | +-------------------------+-------------------------+ | -<span style="color: rgba(128, 0, 128, 1);">1</span> | <span style="color: rgba(128, 0, 128, 1);">1</span> | +-------------------------+-------------------------+</span> |