2012-02-02 67 views
0

我有一个名为users的表,其中有一个字段full_name。使用phpMyadmin大写mySQL表中名称的第一个字母

大部分条目都有名字,例如:JOhn perry,lee adams,MONICA Brown。在phpmyadmin中是否有一个函数将这些名称标准化为适当的格式,例如:John Perry,Lee Adams,Monica Brown?这是一个实验性论坛。 :)

+0

phpMyAdmin是一个图形用户界面,可帮助您进行MySQL的查询。如果你想改变底层数据,反对用户的意图,你可以发出UPDATE查询。但是,如果您想保留底层数据,您可以通过使用任何服务器端语言来处理底层数据。你喜欢哪个?你已经尝试了什么? – jcmeloni 2012-02-02 18:02:19

+0

是的,我没有修改它使用CSS的“大写”,但我不喜欢它,因为我将不得不将这个文本转换添加到所有我使用全名的现有类。 (太多)所以我试图修改它一次,所有:) – kaninabu 2012-02-02 18:06:12

+0

它是在同一列,我在这里找到了同样的问题:http://stackoverflow.com/questions/3278207/mysql-capitalize -first-letter-of-word-in-existing-table 但是他们使用phpmyadmin进行操作,而且我只懂使用mysql的唯一方法就是tru myadmin(我只在我的第一年)。 – kaninabu 2012-02-02 18:11:08

回答

1

您可以随时使用PHP做

ucfirst(strtolower($row["full_name"])) 

则很好地格式化字符串更新回数据库

或者只是简单地使用上述在论坛脚本

+0

哇非常感谢,这真的很有帮助,我甚至可以使用它,以便将来用户在注册时可以正确格式化他们的名字:) – kaninabu 2012-02-02 18:08:06

0

首先,我建议将第一个和最后一个名称分隔为单独的列。 (first_name和last_name)

如果是这样,那么解决方案就容易多了。

UPDATE users SET full_name = CONCAT(UCASE(SUBSTRING(full_name, 1, 1)),LCASE(SUBSTRING(full_name, 2))); 

但是,这会使得结果是::

MONICA布朗--->莫妮卡棕色 唐纳德·多伊--->唐纳德母鹿

您可以使用此SQL查询在MySQL更新域

为了将每个单词的首字母大写,您需要创建一个mysql函数。

这里是有功能的网站,你大概可以使用: http://www.thingy-ma-jig.co.uk/blog/30-09-2010/mysql-how-upper-case-words

+0

非常感谢,但为了将它们拆分为单独的列,我要需要另一个功能,是不是有办法直接从一列中做到这一点? – kaninabu 2012-02-02 18:20:05

相关问题