MYSQL之字符串函数

1、lower:将字符串参数值转换为全小写字母后返回。

mysql> select lower(name) from PLAYERS;

2、upper:将字符串参数值转换为全大写字母后返回

mysql> select upper(name) from PLAYERS;

3、concat:将多个字符串参数首尾相连后返回

mysql> select concat(name,sex) from PLAYERS;

注意:如果有任何参数为null时,则函数返回null,例:

mysql> select concat('my',null,'sql');
+-------------------------+
| concat('my',null,'sql') |
+-------------------------+
| NULL                    |
+-------------------------+

4、concat_ws:将多个字符串参数以给定的分隔符首尾相连后返回

mysql> select concat_ws(':','name','zhangsan');
+----------------------------------+
| concat_ws(':','name','zhangsan') |
+----------------------------------+
| name:zhangsan                    |
+----------------------------------+

5、substr:从源字符串中的指定位置开始取一个字串并返回

mysql> select substr('hello word',5);
+------------------------+
| substr('hello word',5) |
+------------------------+
| o word                 |
+------------------------+

mysql> select substr('hello word',5,3);
+--------------------------+
| substr('hello word',5,3) |
+--------------------------+
| o w                      |
+--------------------------+

mysql> select substr('hello word',-5);
+-------------------------+
| substr('hello word',-5) |
+-------------------------+
|  word                   |
+-------------------------+

6、length:返回字符串的存储长度

mysql> select length('text'),length('你好');
+----------------+------------------+
| length('text') | length('你好')   |
+----------------+------------------+
|              4 |                6 |

+----------------+------------------+

7、char_length :返回字符串中的字符个数

mysql> select char_length('text'),char_length('你好');
+---------------------+-----------------------+
| char_length('text') | char_length('你好')   |
+---------------------+-----------------------+
|                   4 |                     2 |
+---------------------+-----------------------+

8、instr:从源字符串中返回子串第一次出现的位置

mysql> select instr('zhangnala','a');
+------------------------+
| instr('zhangnala','a') |
+------------------------+
|                      3 |
+------------------------+

9、lpad:在源字符串的左边填充给定的字符到指定的长度,返回填充后的字符串

mysql> select lpad('hi',5,'*');
+--------------------+
| lpad('hi',5,'***') |
+--------------------+
| ***hi              |
+--------------------+

10、rpld:在源字符串的右边填充给定的字符到指定的长度,返回填充后的字符串

mysql> select rpad('hi',5,'*');
+------------------+
| rpad('hi',5,'*') |
+------------------+
| hi***            |
+------------------+

11、trim:从源字符串str中去掉两端、前缀或后缀字符并返回。
如果不指定后缀字符,则默认去掉源字符串两端空格,不指定both,leading,trailing,则默认为both。

mysql> SELECT trim(LEADING 'x' FROM 'xxxbarxxx');
+------------------------------------+
| trim(LEADING 'x' FROM 'xxxbarxxx') |
+------------------------------------+
| barxxx                             |
+------------------------------------+
1 row in set (0.00 sec)

mysql> SELECT trim(BOTH 'x' FROM 'xxxbarxxx');
+---------------------------------+
| trim(BOTH 'x' FROM 'xxxbarxxx') |
+---------------------------------+
| bar                             |
+---------------------------------+
1 row in set (0.00 sec)

mysql> SELECT trim(TRAILING 'xyz' FROM 'barxxyz');
+-------------------------------------+
| trim(TRAILING 'xyz' FROM 'barxxyz') |
+-------------------------------------+
| barx                                |
+-------------------------------------+
1 row in set (0.01 sec)

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

12、replace:在源字符串中查找所有的子串(大小写敏感),找到后使用替代字符串替换它。返回替换后的字符串

mysql> select replace('www.com','w','m');
+----------------------------+
| replace('www.com','w','m') |
+----------------------------+
| mmm.com                    |
+----------------------------+

13、ltrim、rtrim:去掉字符串的左边或右边的空格

mysql> select rtrim('    zh '),ltrim('   zh ');
+------------------+-----------------+
| rtrim('    zh ') | ltrim('   zh ') |
+------------------+-----------------+
|     zh           | zh              |
+------------------+-----------------+

14、repeat:将字符串重复一定数量后返回

mysql> select repeat('mysql',3);
+-------------------+
| repeat('mysql',3) |
+-------------------+
| mysqlmysqlmysql   |
+-------------------+

15、reverse:将字符串反转后返回

mysql> select reverse('abc');
+----------------+
| reverse('abc') |
+----------------+
| cba            |
+----------------+

16、char:将每个参数解释为整数(字符的编码),并返回每个整数对应的字符所构成的字符串

mysql> select char(77,121,83,81,'76'),char(77,'77.3',77.3);
+-------------------------+----------------------+
| char(77,121,83,81,'76') | char(77,'77.3',77.3) |
+-------------------------+----------------------+
| MySQL                   | MMM                  |
+-------------------------+----------------------+

17、format:format(X,D[,locale])
以格式‘#,###,###.###’格式化数字X,D指定小数位数,locale指定国家语言,它决定了小数点和千分位分隔符的作用,默认的locale为‘en_US’

mysql> select format(1233.456578,4);
+-----------------------+
| format(1233.456578,4) |
+-----------------------+
| 1,233.4566            |
+-----------------------+

猜你喜欢

转载自blog.csdn.net/qq_42935487/article/details/88844885