千家信息网

MySQL常用字符函数简介

发表于:2024-11-28 作者:千家信息网编辑
千家信息网最后更新 2024年11月28日,MySQL常用字符函数简介 CONCAT(S1,S2...Sn) 连接S1,S2...Sn为一个字符串 concat函数,把传入的参数连接成
千家信息网最后更新 2024年11月28日MySQL常用字符函数简介

MySQL常用字符函数简介

CONCAT(S1,S2...Sn) 连接S1,S2...Sn为一个字符串

concat函数,把传入的参数连接成为一个字符串。
例如:
把"aaa"、"bbb"、"ccc"3个字符串连接成一个字符串,"aaabbbccc".另外任何与NULL进行连接的结果都将是NULL.

>SELECT concat('aaa','bbb','ccc'),concat('aaa',NULL);

mysql> SELECT concat('aaa','bbb','ccc'),concat('aaa',NULL);+---------------------------+--------------------+| concat('aaa','bbb','ccc') | concat('aaa',NULL) |+---------------------------+--------------------+| aaabbbccc                 | NULL               |+---------------------------+--------------------+1 row in set (0.00 sec)



INSERT(str,x,y,instr) 将字符串str从第x位置开始,y个字符长的子串替换为字符串

insert(str,x,y,instr)函数:将字符串str从第x位置开始,y个字符长的子串替换成"me".

mysql> SELECT insert('beijingaiNI',10,2,'WO');+---------------------------------+| insert('beijingaiNI',10,2,'WO') |+---------------------------------+| beijingaiWO                     |+---------------------------------+1 row in set (0.00 sec)



LOWER(str);UPPER(str) 将字符串str中所有字符变为小写或者大写

LOWER(str)和UPPER(str)函数:把字符串转换成小写或大写
在字符串比较中,通常要将比较的字符串全部转换为大写或者小写,如下例所示:

mysql> SELECT lower('WOAINI'),upper('woxihuanni');+-----------------+---------------------+| lower('WOAINI') | upper('woxihuanni') |+-----------------+---------------------+| woaini          | WOXIHUANNI          |+-----------------+---------------------+1 row in set (0.00 sec)



LEFT(str,x);RIGHT(str,x) 返回字符串最左或最右边的x个字符串

LEFT(str,x)和RIGHT(str,x)函数:分别返回字符串最左边和最右边的x个字符,如果第二个参数是NULL,那么将不返回任何字符串。
下例所示:

mysql> SELECT left('beijing',3);+-------------------+| left('beijing',3) |+-------------------+| bei               |+-------------------+1 row in set (0.01 sec)mysql> SELECT left('beijing',NULL);+----------------------+| left('beijing',NULL) |+----------------------+| NULL                 |+----------------------+1 row in set (0.00 sec)



LPAD(str,n,pad);RPAD(str,n,pad) 用字符串pad对str最左边或最右边进行填充,直到长度为n个字符长度(n要大于str的长度,否则就不是填充,变成截取了。)

LPAD(str,n,pad)和RPAD(str,n,pad)函数:用字符串pad对str最左边和最右边进行填充,直到长度为n个字符串。

mysql> SELECT lpad('beijing',10,'123');+--------------------------+| lpad('beijing',10,'123') |+--------------------------+| 123beijing               |+--------------------------+1 row in set (0.00 sec)mysql> SELECT rpad('beijing',10,'123');+--------------------------+| rpad('beijing',10,'123') |+--------------------------+| beijing123               |+--------------------------+1 row in set (0.00 sec)



LTRIM(str);RTRIM(str) 去掉字符串str左侧和右侧的空格

LTRIM(str)和RTRIM(str)函数:去掉字符串str左侧和右侧的空格。

mysql> SELECT ltrim('  |wo|'),rtrim('|ni|   ');+-----------------+------------------+| ltrim('  |wo|') | rtrim('|ni|   ') |+-----------------+------------------+| |wo|            | |ni|             |+-----------------+------------------+1 row in set (0.00 sec)

REPEAT(str,x) 返回str重复x次

REPEAT(str,x)函数:返回str重复x次的结果。

mysql> SELECT repeat('beijing',3);+-----------------------+| repeat('beijing',3)   |+-----------------------+| beijingbeijingbeijing |+-----------------------+1 row in set (0.00 sec)

REPLACE(str,a,b) 用字符串b替换字符串str中所有出现的字符串a

REPLACE(str,a,b)函数:用字符串b替换字符串str中所有出现的字符串a.

mysql> SELECT replace('beijing','bei','nan');+--------------------------------+| replace('beijing','bei','nan') |+--------------------------------+| nanjing                        |+--------------------------------+1 row in set (0.00 sec)


STRCMP(s1,s2) 比较字符串s1和s2

STRCMP(s1,s2)函数:比较字符串s1和s2的ASCII码值的大小。
如果s1比s2小,那么就返回-1,相等返回0,大于返回1.

mysql> SELECT strcmp('a','b'),strcmp('b','b'),strcmp('c','b');+-----------------+-----------------+-----------------+| strcmp('a','b') | strcmp('b','b') | strcmp('c','b') |+-----------------+-----------------+-----------------+|              -1 |               0 |               1 |+-----------------+-----------------+-----------------+1 row in set (0.00 sec)



TRIM(str) 去掉字符串行尾和行头的空格

TRIM(str)函数:去掉目标字符串的开头和结尾的空格。

mysql> SELECT trim('  ab  ');+----------------+| trim('  ab  ') |+----------------+| ab             |+----------------+1 row in set (0.00 sec)



SUBSTRING(str,x,y) 返回从字符串str中的第x位置起y个字符长度的字串。

SUBSTRING(str,x,y)函数:返回从字符串str中的第x位置起y个字符长度的字串。

mysql> SELECT substring('beijing2017',8,4);+------------------------------+| substring('beijing2017',8,4) |+------------------------------+| 2017                         |+------------------------------+1 row in set (0.00 sec)


0