xiaoxue85 发表于 2018-10-9 10:36:32

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". 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)
  

  

  

  

  

  

  

  



页: [1]
查看完整版本: MySQL常用字符函数简介