【问题标题】:Regular database - MySql [closed]常规数据库 - MySql [关闭]
【发布时间】:2012-09-26 08:58:39
【问题描述】:

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 查询吗?

谢谢!

【问题讨论】:

标签: php mysql sql


【解决方案1】:

检查这是否有效。

字符串首字母大写

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

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

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

【讨论】:

    【解决方案2】:

    试着模拟一下,

    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 Demo

    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)))
    

    【讨论】:

    • 查询成功,但列表没有变化?感谢您的关注
    • 是的,因为是SELECT,您没有提到要UPDATE 表,答案已更新。
    • 是的!:) 感谢您的关注!
    【解决方案3】:

    你可以使用类似的东西:

    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. sEE YOU later1 将变为 See you later1

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

    【讨论】:

      猜你喜欢
      • 2016-11-18
      • 2015-08-28
      • 2013-08-04
      • 2020-11-23
      • 2013-11-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多