我的“名称”列的名称存储如下
姓氏 名字 中间名
我想在我的查询中像这样显示它:
名字 中间名 姓氏
- 并非所有记录都有中间名,因此列中可能有 1 个或 2 个空格
我已经尝试过:
SELECT CONCAT ( SUBSTRING_INDEX(`name`, ' ', 1) , ' ' , SUBSTRING_INDEX(`name`, ' ', -1) ) AS nicename`
但这仅给出了姓氏。 “-1”部分不起作用...
感谢大家的帮助。
最佳答案
首先,这是一个糟糕的设计,现在,由于您的中间名部分可能是空的,您可以忍受它,只需选择select name from tbl1
的名称即可。
否则,请考虑重新设计您的表格,为 Lastname
、Firstname
和 Middlename
提供单独的列,然后您就不需要全部这个的。您可以从所有 3 列中获取数据
select concat(Firstname, Middlename, Lastname ) as nicename
from tbl1;
关于mysql - 更改 MySQL 查询中姓氏和其余姓名的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41181413/