1667. 修复表中的名字Java
文章发布较早,内容可能过时,阅读注意甄别。
# 题目
表: Users
+----------------+---------+
| Column Name | Type |
+----------------+---------+
| user_id | int |
| name | varchar |
+----------------+---------+
user_id 是该表的主键(具有唯一值的列)。
该表包含用户的 ID 和名字。名字仅由小写和大写字符组成。
编写解决方案,修复名字,使得只有第一个字符是大写的,其余都是小写的。
返回按 user_id 排序的结果表。
返回结果格式示例如下。
示例 1:
输入:
Users table:
+---------+-------+
| user_id | name |
+---------+-------+
| 1 | aLice |
| 2 | bOB |
+---------+-------+
输出:
+---------+-------+
| user_id | name |
+---------+-------+
| 1 | Alice |
| 2 | Bob |
+---------+-------+
# 思路
用left函数取名字首字符转为大写,用substr取名字第二个及之后所有字符转为小写,再拼接即可。 substr(string,pos,end)这个函数不填入end就是取pos位置及其之后所有的字符。
# 解法
select
user_id,
concat(upper(left(name,1)),lower(substr(name,2))) as name
from
Users
order by
user_id
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
# 总结
- 分析出几种情况,然后分别对各个情况实现


