2

我从这里尝试了各种标题案例解决方案,他们0在专栏中给了我一个。我必须更改LENtoLENGTH才能让它运行。如果我将语句剥离到它的 2 个部分,它就可以工作。

 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 ;
4

1 回答 1

2

如果使用 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 而不是您的结果)。

显示小提琴

于 2014-07-24T09:57:17.723 回答