【发布时间】:2014-01-18 14:29:10
【问题描述】:
+------+-----------------+
| id | name +
+------+-----------------+
| 1 | David Gilmour |
| 2 | Roger Waters |
| 3 | Li Jen Ho |
+------+-----------------+
名称的当前格式是firstName lastName,我想将其更改为lastName firstName,我想在一个数据库查询中这样做。
我想到的解决方案是用space 拆分名称,反转项目,然后用space 胶水再次内爆。但我不知道如何为此编写查询。
我可以在 PHP 中简单地做到这一点,方法是按空格分解名称并将它们放入一个数组中,反转数组,然后用空格胶将单词分解,但目前我没有访问权限到 PHP。
更新 1: 我找到了this similar question,但我无法让它工作。我希望我没有问重复的问题。
更新 2: 名称可以包含 2 个以上的部分。我假设只有第一个单词是名字,其余的名字是姓氏。
【问题讨论】:
-
那么您可以访问什么? awk 会在一秒钟内完成此操作,Word 也可以通过查找替换来完成此操作,Excel 公式可以提供帮助...否则,如果您要将名称存储在数据库中并且这些部分具有含义(例如“姓氏”和“名字”),你真的应该保留两列以避免这样的问题。
-
我认为他根本不会使用 Microsoft Office 套件。标签专门说“mysql”。他还谈到了使用 PHP,这表明他正在编写服务器端 Web 脚本。
-
@lc。我正在使用的服务器只有mysql,我无法在上面安装php!为“名字”和“姓氏”创建 2 列是个好主意,但拆分名字仍然有问题。
-
你能安装像github.com/mysqludf/lib_mysqludf_preg#readme这样的mysql库吗?
-
@DigitalChris 我不确定。我想我会找到一个简单快速的 SQL 查询来解决我的问题。