Mysql 中字符串的截取


一.從左開始截取字符串

用法:left(str, length),即:left(被截取字符串, 截取長度)

mysql> SELECT LEFT('hello,world',3);
+-----------------------+
| LEFT('hello,world',3) |
+-----------------------+
| hel                   |
+-----------------------+
1 row in set (0.00 sec)

二.從右開始截取字符串

用法:right(str, length),即:right(被截取字符串, 截取長度)

mysql> SELECT right('hello,world',3);
+------------------------+
| right('hello,world',3) |
+------------------------+
| rld                    |
+------------------------+
1 row in set (0.00 sec)

三.截取特定長度的字符串

用法:

  • substring(str, pos),即:substring(被截取字符串, 從第幾位開始截取)
  • substring(str, pos, length),即:substring(被截取字符串,從第幾位開始截取,截取長度)

pos 正向起始值為1,反向起始值為-1

#1.從字符串的第3個字符開始讀取直至結束
mysql> SELECT substring('hello,world',3);
+----------------------------+
| substring('hello,world',3) |
+----------------------------+
| llo,world                  |
+----------------------------+
1 row in set (0.00 sec)

#2.從字符串的倒數第3個字符開始讀取直至結束
mysql> SELECT substring('hello,world',-3);
+-----------------------------+
| substring('hello,world',-3) |
+-----------------------------+
| rld                         |
+-----------------------------+
1 row in set (0.01 sec)

#3.從字符串的第3個字符開始,只取5個字符
mysql> SELECT substring('hello,world',3,5);
+------------------------------+
| substring('hello,world',3,5) |
+------------------------------+
| llo,w                        |
+------------------------------+
1 row in set (0.00 sec)

#4.從字符串的倒數第3個字符開始,只取5個字符
mysql> SELECT substring('hello,world',-3,5);
+-------------------------------+
| substring('hello,world',-3,5) |
+-------------------------------+
| rld                           |
+-------------------------------+
1 row in set (0.00 sec)

四.按關鍵字進行讀取

用法:

  • substring_index(str, delim, count),即:substring_index(被截取字符串,關鍵字,關鍵字出現的次數)
#1.截取第二個“|”之前的所有字符
mysql> SELECT substring_index('1|2|3|4|5','|',2);
+------------------------------------+
| substring_index('1|2|3|4|5','|',2) |
+------------------------------------+
| 1|2                                |
+------------------------------------+
1 row in set (0.00 sec)

#2.截取倒數第二個“|”之后的所有字符
mysql> SELECT substring_index('1|2|3|4|5','|',-2);
+-------------------------------------+
| substring_index('1|2|3|4|5','|',-2) |
+-------------------------------------+
| 4|5                                 |
+-------------------------------------+
1 row in set (0.00 sec)

#3.如果關鍵字不存在,則返回整個字符串
mysql> SELECT substring_index('1|2|3|4|5|','-',2);
+-------------------------------------+
| substring_index('1|2|3|4|5|','-',2) |
+-------------------------------------+
| 1|2|3|4|5|                          |
+-------------------------------------+
1 row in set (0.00 sec)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM