如何在MySQL中提取字串的子串?


MySQL 的 SUBSTRING() 函式可以用來從字串中提取子串。基本上,SUBSTRING() 從特定位置開始返回給定長度的字串子串。它有以下幾種形式:

  • SUBSTRING(str,pos)
  • SUBSTRING(str FROM pos)
  • SUBSTRING(str,pos,len)
  • SUBSTRING(str FROM pos FOR len)

不帶 len 引數的形式返回從字串 str 的位置 pos 開始的子串。帶 len 引數的形式返回從字串 str 的位置 pos 開始,長度為 len 個字元的子串。“FROM”形式是標準的 MySQL 語法。也可以對 pos 使用負值。在這種情況下,子串的起始位置是從字串末尾算起 pos 個字元,而不是從開頭算起。在任何形式的函式中都可以對 pos 使用負值。

mysql> SELECT SUBSTRING('Quadratically',5);
+---------------------------------------------------------+
| SSUBSTRING('Quadratically',5)                           |
+---------------------------------------------------------+
| ratically                                               |
+---------------------------------------------------------+
1 row in set (0.00 sec)

mysql> SELECT SUBSTRING('foobarbar' FROM 4);
+---------------------------------------------------------+
| SUBSTRING('foobarbar' FROM 4)                           |
+---------------------------------------------------------+
| barbar                                                  |
+---------------------------------------------------------+
1 row in set (0.00 sec)

mysql> SELECT SUBSTRING('Quadratically',5,6);
+---------------------------------------------------------+
| SUBSTRING('Quadratically',5,6)                          |
+---------------------------------------------------------+
| ratica                                                  |
+---------------------------------------------------------+
1 row in set (0.00 sec)

mysql> Select SUBSTRING('foobarbar',-4);
+---------------------------+
| SUBSTRING('foobarbar',-4) |
+---------------------------+
| rbar                      |
+---------------------------+
1 row in set (0.05 sec)

除了 SUBSTRING() 函式外,MID() 和 SUBSTR() 函式也可以用來從字串中提取子串。它們都是 SUBSTRING() 函式的同義詞。

更新於:2020年2月7日

429 次瀏覽

啟動你的職業生涯

完成課程獲得認證

開始學習
廣告