2012-02-02 88 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