我在这里尝试了各种标题案例解决方案,它们在专栏中给了我一个0。我必须将LEN更改为LENGTH才能运行它。如果我把这句话分成两部分,它就行了。

 UPDATE names
    SET
    surname = UPPER(LEFT(surname, 1)) +
    LOWER(RIGHT(surname, LENGTH(surname) - 1));

或者
update  names
set     surname = upper(substring(surname,1,1)) +
        lower(substring(surname, 2, length(surname)-1))
where   length(surname) > 0 ;

最佳答案

如果使用MySql,则必须使用CONCAT函数连接两个字符串。
以这种方式:

update  names
set     surname = concat(upper(substring(surname,1,1)),
        lower(substring(surname, 2, length(surname)-1)))
where   length(surname) > 0 ;

这是一个很好的使用WHERE条件,因此可以防止可能为空的字段
注意:您的结果是0,因为DBMS尝试对两个数字求和(通过字符串进行隐式转换,因此您将得到0而不是您的结果)。
Show Fiddle

关于php - 在SQL语句中使用标题大小写,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24930469/

10-12 04:45