【发布时间】:2014-11-19 03:54:09
【问题描述】:
我正在使用 mysql 我想要名字大写的第一个字母和小写的剩余字符我正在使用的查询是
select UPPER(LEFT(FirstName,1))+LOWER(SUBSTRING(FirstName,2,LENGTH(FirstName))) FirstName from colliers;
这给出了答案 0,但它在 SQL 服务器中完美运行..
【问题讨论】:
标签: mysql
我正在使用 mysql 我想要名字大写的第一个字母和小写的剩余字符我正在使用的查询是
select UPPER(LEFT(FirstName,1))+LOWER(SUBSTRING(FirstName,2,LENGTH(FirstName))) FirstName from colliers;
这给出了答案 0,但它在 SQL 服务器中完美运行..
【问题讨论】:
标签: mysql
你必须使用concat()。 “加号”连接在 MySQL 中不起作用。你可能会得到这样的结果:
select CONCAT(UPPER(LEFT(FirstName,1)), LOWER(SUBSTRING(FirstName,2,LENGTH(FirstName)))) FirstName from colliers;
顺便说一句,SUBSTRING() 函数调用中不需要 LENGTH(FirstName)。当第三个参数被省略时SUBSTRING() 假设你想要字符串的其余部分。
【讨论】:
你必须使用CONCAT(),而不是+
SELECT CONCAT(UPPER(LEFT(FirstName,1)),LOWER(SUBSTRING(FirstName,2,LENGTH(FirstName)))) FirstName from colliers
【讨论】:
解决问题的另一种方法!
我会使用 concat()、ucase()/upper()、lcase()/lower()、mid()/substring()
SELECT CONCAT (
upper(mid(Firstname, 1, 1))
,lower(mid(Firstname, 2))
)
FROM colliers;
【讨论】: