Toasobi
SQL修复表中名字(指定字符转大小写)
本文最后更新于2023年09月21日,已超过471天没有更新。如果文章内容或图片资源失效,请留言反馈,我会及时处理,谢谢!
- 题目:
表: 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 |
SQL 提供了各种允许我们操作和转换数据的函数。在这里,我们将具体利用以下几点:
- SUBSTRING(column_name, start, length):这将从列的值中提取一个子字符串,从指定的起始位置开始,直到指定的长
度。- UPPER(expression):这会将字符串表达式转换为大写。
- LOWER(expression):这会将字符串表达式转换为小写。
- CONCAT(string1, string2, ...):这会将两个或多个字符串连接成一个字符串。
- 这里的核心思想是将名称列的第一个字符与其他字符分开,相应地更改它们的大小写,然后将它们连接在一起。
代码:
SELECT user_id, CONCAT(UPPER(SUBSTRING(name, 1, 1)), LOWER(SUBSTRING(name, 2))) AS name
FROM Users
ORDER BY user_id;