Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在SQL语句中使用标题大小写_Php_Mysql_Sql_Title Case - Fatal编程技术网

Php 在SQL语句中使用标题大小写

Php 在SQL语句中使用标题大小写,php,mysql,sql,title-case,Php,Mysql,Sql,Title Case,我在这里尝试了各种标题案例解决方案,他们在专栏中给了我一个0。我必须将LEN更改为LENGTH,才能让它运行。如果我把这句话分成两部分,它就行了 UPDATE names SET surname = UPPER(LEFT(surname, 1)) + LOWER(RIGHT(surname, LENGTH(surname) - 1)); 或 如果使用MySql,则必须使用函数CONCAT来连接两个字符串 这样: update names set surna

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

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


如果使用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)


你的问题是什么?他想写以下内容:(姓氏:布朗之前;姓氏:布朗之后)你在使用哪个数据库管理系统?为什么在列中放0而不是结果的标题格。我对1000条记录进行了测试,它删除了所有列数据。在上线之前,我正在本地主机笔记本电脑上使用MYSQL进行测试。@PeterBrooks:祝您愉快;)@彼得布鲁克斯如果这真的帮助你通过投票或接受来回报回答者所付出的努力,我只是花了一点时间寻找如何在美国做我们称之为“标题案例”的事情,我一直在不同的页面上找到这个“合适的案例”解决方案。这个解决方案比这里正确的案例代码要短,但Oracle让我们不得不经历所有这些,而不是通过一个内置函数以黑匣子的方式完成这项工作,这似乎仍然有点痛苦。只是说说而已。
update  names
set     surname = concat(upper(substring(surname,1,1)),
        lower(substring(surname, 2, length(surname)-1)))
where   length(surname) > 0 ;