【发布时间】:2015-04-09 02:17:13
【问题描述】:
我有一个NAME 列,数据像这样存储在 MySql 数据库中:
Doe,约翰 P
我想把它分解成FNAMELNAMEMNAME和FULLNAME。
如果不想篡改SQL表,是否应该创建视图?
我知道如何在 PHP 中使用函数修复它,但我宁愿在数据库服务器上完成处理,而不是在应用程序服务器上完成。
这是我目前所拥有的。我想我需要一个复合查询或类似的东西。
SELECT Name
, SUBSTRING_INDEX(Name,',',-1) As FNAME
, SUBSTRING_INDEX(Name,',',1) As LNAME
, SUBSTRING_INDEX(Name,' ',1) As MNAME
FROM people;
我无法获取中间名并执行我认为应该是 CONCAT 的函数来获取 FULLNAME。
如果有一种方法(可能是有条件的)来处理数据库中没有中间名的名称,那就太好了。 (即 DOE、JOHN)。
【问题讨论】:
标签: mysql database database-administration