0

MySql 数据;

   ID Fname Lname     
+--------+-------------+------------+
+ 1 + 埃姆雷 + 姓氏 +
+ 2 + 名字 2 + 姓氏 2 +
+ 3 + 姓名 E3 + 姓 E3 +
+ 1980 + nAmE3 + suRNamE3 +
+--------+-------------+------------+

我想要:

   ID Fname Lname     
+--------+-------------+------------+
+ 1 + 埃姆雷 + 姓氏 +
+ 2 + 姓名 2 + 姓氏 2 +
+ 3 + 姓名 3 + 姓氏 3 +
+ 1980 + 姓名 4 + 姓氏 4 +
+--------+-------------+------------+

如何进行编辑过程?- 可以使用 SQL 查询吗?

谢谢!

4

3 回答 3

3

试着模拟一下,

SELECT CONCAT(UPPER(SUBSTRING(Fname, 1, 1)), LOWER(SUBSTRING(Fname FROM 2))) AS properFirstName,
       CONCAT(UPPER(SUBSTRING(Lname, 1, 1)), LOWER(SUBSTRING(Lname FROM 2))) AS properLastName
FROM table1

SQLFiddle 演示

UPDATE tableName
SET Fname = CONCAT(UPPER(SUBSTRING(Fname, 1, 1)), LOWER(SUBSTRING(Fname FROM 2))),
    LName = CONCAT(UPPER(SUBSTRING(Fname, 1, 1)), LOWER(SUBSTRING(Fname FROM 2)))
于 2012-10-05T08:22:09.590 回答
1

你可以使用类似的东西:

UPDATE table
SET Fname = CONCAT(UCASE(LEFT(Fname, 1)), LCASE(SUBSTRING(Fname, 2))),
    Fname = CONCAT(UCASE(LEFT(Lname, 1)), LCASE(SUBSTRING(Lname, 2)));

这应该更新您的所有价值:

  1. 世界将成为世界
  2. 帮助将保持帮助
  3. 稍后见1 将变为 稍后见1

我建议您先在备用表上试用它,然后再在主表上使用它

于 2012-10-05T08:26:48.497 回答
0

检查这是工作。

字符串的第一个字母转大写

更新tablefield= CONCAT(UPPER(LEFT( field, 1)), SUBSTRING( field, 2))

如果你想让所有其他字符小写:

更新tablefield= CONCAT(UPPER(LEFT( field, 1)), LOWER(SUBSTRING( field, 2)))

于 2012-10-05T08:40:17.160 回答