首页 > 编程笔记

MySQL获取子串(SUBSTRING()和MID())

在 MySQL 中,获取字符串的子串可以使用 SUBSTRING() 函数或 MID() 函数。这两个函数在功能上是相同的,都可以从字符串中提取指定位置开始的特定长度的子串。

MySQL SUBSTRING()

SUBSTRING()函数的语法如下:
SUBSTRING(s, n, len)

SUBSTRING(s,n,len) 带有 len 参数的格式,从字符串 s 返回一个长度与 len 字符相同的子字符串,起始于位置 n。也可能对 n 使用一个负值,如果是这种情况,则子字符串的位置起始于字符串结尾的 n 字符,即倒数第 n 个字符,而不是字符串的开头位置。

【实例】使用 SUBSTRING 函数获取指定位置处的子字符串,输入语句如下:
MySQL> SELECT SUBSTRING('breakfast',5) AS col1, SUBSTRING('breakfast',5,3) AS
col2,SUBSTRING('lunch', -3) AS col3,SUBSTRING('lunch', -5, 3) AS col4;
+-------+-------+------+-------+
| col1  | col2  | col3 | col4  |
+-------+-------+------+-------+
| kfast | kfa   | nch  | lun   |
+-------+-------+------+-------+

MySQL MID()

MID() 函数与 SUBSTRING() 的作用相同,语法格式是:
MID(str, start, length)

【实例】使用 MID() 函数获取指定位置处的子字符串,输入语句如下:
MySQL> SELECT MID('breakfast',5) as col1, MID('breakfast',5,3) as col2,MID('lunch', -3) as col3,
MID('lunch', -5, 3) as col4;
+-------+-------+------+------+
| col1  | col2  | col3 | col4 |
+-------+-------+------+------+
| kfast |  kfa  | nch  |  lun |
+-------+-------+------+------+
可以看到 MID() 和 SUBSTRING() 的处理结果是一样的。

推荐阅读