我试图从表格
中获取名称表
Id Name
1 John Doe
2 Tom Cruise
3 Christopher Ashton Kutcher
4 Mel Gibson
5 David Jude Law
6 Brad Pitt
我的方法是
SELECT
SUBSTRING_INDEX(Name, ' ', 1) AS FirstName,
SUBSTRING_INDEX(Name, ' ', -1) AS LastName,
FROM Table
但是在上面的表中有一些名字也有中间名,所以我的方法是我错过名字,例如名字Christopher Ashton Kutcher
我得Ashton Kutcher
作为输出
注意:只要我LastName
FirstName
,println
输出中也会有中间名,这无关紧要。
那么将会有什么工作?
答案 0 :(得分:1)
由于您不关心中间名是否与姓氏混淆并且您在' '
分裂,这应该有效。
select substring(name, 1, instr(name,' ')-1) as first_name,
replace(name, substring(name, 1, instr(name,' ')-1), '') as last_name
from table;