0x01 left 函数
说明: 从左开始截取字符串
用法: left(str, length),即: left(被截取字符串, 截取长度)
0x01.1 left 例子:
mysql> SELECT LEFT('hello world',8);
+-----------------------+
| LEFT('hello world',8) |
+-----------------------+
| hello wo |
+-----------------------+
1 row in set (0.00 sec)
0x02 right 函数
从右开始截取字符串
用法: right(str, length),即: right(被截取字符串, 截取长度)
0x02.1 right 例子:
mysql> SELECT RIGHT('hello world',8);
+------------------------+
| RIGHT('hello world',8) |
+------------------------+
| lo world |
+------------------------+
1 row in set (0.00 sec)
0x03 substring 函数
截取特定长度的字符串
用法:
- substring(str, pos),即: substring(被截取字符串, 从第几位开始截取)
- substring(str, pos, length)即: substring(被截取字符串,从第几位开始截取,截取长度)
0x03.1 substring 例子一
从字符串的第9个字符开始读取直至结束
mysql> SELECT SUBSTRING('hello world', 9);
+-----------------------------+
| SUBSTRING('hello world', 9) |
+-----------------------------+
| rld |
+-----------------------------+
1 row in set (0.00 sec)
0x03.2 substring 例子二
从字符串的第2个字符开始,只取3个字符
mysql> SELECT SUBSTRING('hello world', 2, 3);
+--------------------------------+
| SUBSTRING('hello world', 2, 3) |
+--------------------------------+
| ell |
+--------------------------------+
1 row in set (0.00 sec)
0x03.3 substring 例子三
从字符串的倒数第6个字符开始读取直至结束
mysql> SELECT SUBSTRING('hello world', -6);
+------------------------------+
| SUBSTRING('hello world', -6) |
+------------------------------+
| world |
+------------------------------+
1 row in set (0.00 sec)
0x03.4 substring 例子四
从字符串的倒数第4个字符开始读取,只取2个字
mysql> SELECT SUBSTRING('hello world', -4, 2);
+---------------------------------+
| SUBSTRING('hello world', -4, 2) |
+---------------------------------+
| or |
+---------------------------------+
1 row in set (0.00 sec)
0x04 substr 函数
substr 和substring 函数用法一样
截取特定长度的字符串
用法:
- substr(str, pos),即: substr(被截取字符串, 从第几位开始截取)
- substr(str, pos, length),即: substr(被截取字符串,从第几位开始截取,截取长度)
0x04.1 substr 例子一
从字符串的第1个字符开始读取直至结束
mysql> SELECT substr('hello world', 1);
+--------------------------+
| substr('hello world', 1) |
+--------------------------+
| hello world |
+--------------------------+
1 row in set (0.00 sec)
0x03.2 substr 例子二
从字符串的第2个字符开始,只取3个字符
mysql> SELECT SUBSTR('hello world', 2, 3);
+-----------------------------+
| SUBSTR('hello world', 2, 3) |
+-----------------------------+
| ell |
+-----------------------------+
1 row in set (0.00 sec)
0x05 mid 函数
得到一个字符串的一部分
用法:
- MID(str, start [, length])
- MID(str from start for length)
- MID(str from 1)
- 即: MID(被截取字符串, 从第几位开始截取, 截取长度);
- 注: MID函数从1开始,而非0,length是可选项,如果没有提供,MID()函数将返回余下的字符串。
0x05.1 例子一
从第1个字符开始读取直至结束
mysql> SELECT mid('hello world', 1);
+--------------------------+
| mid('hello world', 1) |
+--------------------------+
| hello world |
+--------------------------+
1 row in set (0.00 sec)
0x05.2 例子二
从第2个字符开始读取3个字符
mysql> SELECT mid('hello world', 2, 3);
+--------------------------+
| mid('hello world', 2, 3) |
+--------------------------+
| ell |
+--------------------------+
1 row in set (0.00 sec)
0x05.3 例子三
从第2个字符开始读取3个字符
mysql> select mid('hello' from 2 for 3);
+---------------------------+
| mid('hello' from 2 for 3) |
+---------------------------+
| ell |
+---------------------------+
1 row in set (0.00 sec)
0x05.4 例子四
从第2个字符开始读取3个字符
mysql> select mid('hello' from 3);
+---------------------+
| mid('hello' from 3) |
+---------------------+
| llo |
+---------------------+
1 row in set (0.00 sec)
0x05.5 例子五
利用ascii 和mid 截取字符串
mysql> select ascii(mid('hello' from 1));
+----------------------------+
| ascii(mid('hello' from 1)) |
+----------------------------+
| 104 |
+----------------------------+
1 row in set (0.00 sec)
mysql> select ascii(mid('hello' from 2));
+----------------------------+
| ascii(mid('hello' from 2)) |
+----------------------------+
| 101 |
+----------------------------+
1 row in set (0.00 sec)
0x06:regexp 正则匹配
- regexp :正则表达式的用法,user()结果为 root,regexp为匹配root的正则表达式。
- select database() regexp ‘^se’ , ^ 代表字符串的起始位置.
0x07:like 函数
- like select user() like ‘ro%’ ,使用like进行匹配