gpt4 book ai didi

mysql - 如何将 MySQL 中的逗号分隔名称字段分隔为名字、中间名、姓氏和全名?

转载 作者:行者123 更新时间:2023-11-30 22:46:16 25 4
gpt4 key购买 nike

我有一个 NAME 列,数据像这样存储在 MySql 数据库中:

Doe,John P

我想把它分成 FNAME LNAME MNAMEFULLNAME

如果不想篡改SQL表,是否应该创建 View ?

我知道如何在 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)。

最佳答案

View 是获取 future 查询所需结果的好方法。定义查询将是:

SELECT Name, SUBSTRING_INDEX(SUBSTRING_INDEX(Name, ',', -1), ' ', 1)  As FNAME,
SUBSTRING_INDEX(Name, ',', 1) As LNAME,
SUBSTRING_INDEX(Name, ' ', -1) As MNAME
FROM people;

假设格式完全如您在表格中描述的那样正确,这将起作用。小的更改——例如没有中间名或逗号后有空格——会使语法更复杂。

关于mysql - 如何将 MySQL 中的逗号分隔名称字段分隔为名字、中间名、姓氏和全名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29528622/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com