mysql 字符串拼接

Author Avatar
xuanzh.cc 10月 26, 2017
  • 在其它设备中阅读本文章

拼接

在 mysql 中使用 concat 函数进行字符串的拼接,concat 函数支持一个或多个参数,参数可以是字符串或非字符串类型,对于非字符串类型的参数,mysql 会将其转化为字符串,该函数会按照参数顺序将所有的参数拼接为一个字符串并返回。

1
concat('a', 'b', 'c') -- 返回 abc

分割

mysql 提供了名为 SUBSTRING_INDEX 的字符串分割函数,方法签名为:

1
2
3
4
SUBSTRING_INDEX(str, delim, count)
-- str 要被分割的字符串
-- delim 分隔符
-- count 计数,如果为整数,则从左边开始,数到第n个分隔符,返回左边的全部内容;如果为负数,则从右边开始,数到第n个分隔符,返回右边的全部内容

例子:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
SELECT SUBSTRING_INDEX('xml-test-1', 'test', 1);
-- 返回 xml-
SELECT SUBSTRING_INDEX('xml-test-1', 'test', -1);
-- 返回 -1
SELECT SUBSTRING_INDEX('xml-test-aaa-test-666-test-1', 'test', 2);
-- 返回 xml-test-aaa-
SELECT SUBSTRING_INDEX('xml-test-aaa-test-666-test-1', 'test', -2);
-- 返回 -666-test-1