Mysql更新记录

时间:2010-07-28 13:12:25

标签: sql mysql

我必须从用户表中更新一列。 用户表中的当前记录

**id , user_name**
1    , sachin rathore
2    , dilip CHOUHAN
3    , GariMA JAIN

我想像这样更新user_name列

1 , Sachin Rathore
2 , Dilip Chouhan
3 , Garima Jain

用户列应为titlize形式,表示每个单词的首字母应为大写并保留小写字母

2 个答案:

答案 0 :(得分:2)

这是一个可以执行此操作的查询

UPDATE SET table SET user_name= CAP_FIRST(CONCAT(SUBSTRING_INDEX(user_name, ' ',-1), ' ', SUBSTRING_INDEX(user_name, ' ',1)))

它依赖于自定义构建函数来大写每个首字母,即CAP_FIRST,如下所示:http://joezack.com/index.php/2008/10/20/mysql-capitalize-function/

这是另一个:http://forums.mysql.com/read.php?20,265978,266040#msg-266040

答案 1 :(得分:1)

这些功能无法以这种方式转换文本。您需要编写一个可以执行此操作的脚本。例如,PHP具有您可以使用的ucwords()函数。

http://www.php.net/manual/en/function.ucwords.php