如何获取mysql查询中第一个空格后的所有单词

如何获取mysql查询中第一个空格后的所有单词,mysql,Mysql,我有一个表,其行的名称内容如下: Name ------------------------ NIWEMUKIZA GRACE NIYIRORA MARY REINE Muganga jean ema samuel 我只想得到第一个空格前的单词部分和第一个空格后的其他单词 输出: Lastname | Firstname -------------+------------- NIWEMUKIZA | GRACE NIYIRORA | MARY REINE

我有一个表,其行的名称内容如下:

Name
------------------------
NIWEMUKIZA GRACE
NIYIRORA MARY REINE
Muganga jean ema samuel
我只想得到第一个空格前的单词部分和第一个空格后的其他单词

输出:

Lastname     |   Firstname
-------------+-------------
NIWEMUKIZA   |    GRACE
NIYIRORA     |    MARY REINE
Muganga      |    jean ema samuel
您可以使用和(或两者)或。以下使用了这两种方法:

SELECT
  SUBSTRING_INDEX(`name`, ' ', 1) AS `first_name`,
  SUBSTRING(`name`, LOCATE(' ', `name`)) AS `last_name`
FROM
  `names`
给了我们:

first_name | last_name
----------------------
NIWEMUKIZA | GRACE
NIYIRORA   | MARY REINE
Muganga    | jean ema samuel
SQLFiddle:

您可以使用and(或两者)和or。以下使用了这两种方法:

SELECT
  SUBSTRING_INDEX(`name`, ' ', 1) AS `first_name`,
  SUBSTRING(`name`, LOCATE(' ', `name`)) AS `last_name`
FROM
  `names`
给了我们:

first_name | last_name
----------------------
NIWEMUKIZA | GRACE
NIYIRORA   | MARY REINE
Muganga    | jean ema samuel
SQLFiddle: