在本教學中,我們將向您介紹MySQL SUBSTRING
函數從字串中提取子字串。
SUBSTRING
函數從特定位置開始的字串返回一個給定長度的子字串。 MySQL提供了各種形式的子串功能。
我們將在以下部分中檢查SUBSTRING
函數的每種形式。
SUBSTRING(string,position);
SUBSTRING(string FROM position);
有兩個參數:
string
參數是要提取子字串的字串。position
參數是一個整數,用於指定子串的起始字元,position
可以是正或負整數。
如果position
為正,則SUBSTRING
函數從字串的開始處提取子字串。請參閱以下字串。
例如,要從“MySQL SUBSTRING
”字串中獲取子字串:“SUBSTRING
”,子串的位置必須從7
開始,如以下SELECT語句:
mysql> SELECT SUBSTRING('MYSQL SUBSTRING', 7);
+---------------------------------+
| SUBSTRING('MYSQL SUBSTRING', 7) |
+---------------------------------+
| SUBSTRING |
+---------------------------------+
1 row in set
請注意,如果position
參數為零,則SUBSTRING
函數返回一個空字元串:
mysql> SELECT SUBSTRING('MYSQL SUBSTRING', 0);
+---------------------------------+
| SUBSTRING('MYSQL SUBSTRING', 0) |
+---------------------------------+
| |
+---------------------------------+
1 row in set
除了特定於MySQL的語法之外,可以使用SQL標準語法與FROM
關鍵字一起調用SUBSTRING
函數。
例如,以下語句使用SQL標準語法從"MySQL SUBSTRING"
字串中獲取"SUBSTRING"
:
mysql> SELECT SUBSTRING('MySQL SUBSTRING' FROM -10);
+---------------------------------------+
| SUBSTRING('MySQL SUBSTRING' FROM -10) |
+---------------------------------------+
| SUBSTRING |
+---------------------------------------+
1 row in set
MySQL SUBSTRING具有位置和長度
如果要指定要從字串中提取的子字串的長度,可以使用以下形式的SUBSTRING
函數:
SUBSTRING(string,position,length);
以下是上述語句的SQL標準版本,它更長,但更具表現力。
SUBSTRING(string FROM position FOR length);
除了string
和position
參數之外,SUBSTRING
函數還有一個額外的length
參數。length
是一個正整數,用於指定子字串的字元數。
如果position
和length
的總和大於字串的字元數,則SUBSTRING
函數將返回一個從位置開始到字串末尾的子串。
例如,要從"MySQL SUBSTRING"
獲取"MySQL"
,請使用以下語句:
mysql> SELECT SUBSTRING('MySQL SUBSTRING',1,5);
+----------------------------------+
| SUBSTRING('MySQL SUBSTRING',1,5) |
+----------------------------------+
| MySQL |
+----------------------------------+
1 row in set
又或者 -
mysql> SELECT SUBSTRING('MySQL SUBSTRING' FROM 1 FOR 5);
+-------------------------------------------+
| SUBSTRING('MySQL SUBSTRING' FROM 1 FOR 5) |
+-------------------------------------------+
| MySQL |
+-------------------------------------------+
1 row in set
或者使用FROM FOR
語法:
mysql> SELECT SUBSTRING('MySQL SUBSTRING' FROM -15 FOR 5);
+---------------------------------------------+
| SUBSTRING('MySQL SUBSTRING' FROM -15 FOR 5) |
+---------------------------------------------+
| MySQL |
+---------------------------------------------+
1 row in set
SUBSTR()
函數是SUBSTRING()
函數的同義詞,所以可以互換使用它們。
在本教學中,您已經瞭解了和使用SUBSTRING()
函數從指定位置開始的字串中提取具有給定長度的子字串。
上一篇:
MySQL函數
下一篇:
MySQL+Node.js連接和操作