很多程式语言都有抽取字串部份的函式 (PHP 及 Perl 是 substr), MySQL 也有类似的函式 — SUBSTRING() 及 SUBSTR(), 两者都用法是一样的, 因为 SUBSTR() 只是 SUBSTRING() 的别名。它们可以用作抽出一个字段资料的其中一部份字串。以下是简单例子:
|
1 |
SELECT SUBSTRING('MySQL SUBSTRING testing', 1); |
以上会从 “MySQL SUBSTRING testing” 第 1 个字符开始抽取, 所以会输出:
MySQL SUBSTRING testing
如果将上面的 1 改成 6, 结果便会不同:
|
1 |
SELECT SUBSTRING('MySQL SUBSTRING testing', 7); |
会由第 7 个字符开始抽取到结尾, 结果会是:
SUBSTRING testing
上面在 SUBSTRING() 里面只放入两个参数, 分别是要抽取的原始字串, 及从第几个字符开始的数值, 如果只想抽取特定长度的字串, 可以这样写:
|
1 |
SELECT SUBSTRING('MySQL SUBSTRING testing', 7, 9); |
这里会从第 7 个字符开始, 抽取 9 个字符, 结果是:
SUBSTRING
上面是 MySQL SUBSTRING() 的用法, 实际上用处不大, 要配合 SELECT query 才会较实用, 先看以下例子:
|
1 |
SELECT SUBSTRING(title, 1, 5) FROM posts; |
上面例子会从 posts 资料表抽出 title 字段的资料, 并用 SUBSTRING 将 title 字段的回传结果抽取从第 1 至 5 个字符。