Welcome to Subscribe On Youtube
Formatted question description: https://leetcode.ca/all/1667.html
1667. Fix Names in a Table
Level
Easy
Description
Table: Users
+----------------+---------+
| Column Name | Type |
+----------------+---------+
| user_id | int |
| name | varchar |
+----------------+---------+
user_id is the primary key for this table.
This table contains the ID and the name of the user. The name consists of only lowercase and uppercase characters.
Write an SQL query to fix the names so that only the first character is uppercase and the rest are lowercase.
Return the result table ordered by user_id
.
The query result format is in the following example:
Users table:
+---------+-------+
| user_id | name |
+---------+-------+
| 1 | aLice |
| 2 | bOB |
+---------+-------+
Result table:
+---------+-------+
| user_id | name |
+---------+-------+
| 1 | Alice |
| 2 | Bob |
+---------+-------+
Solution
Each user’s name can be split into two substrings. The first substring is the first letter, and the second substring is the substring starting from the second letter. Convert the first substring into upper case and the second substring into lower case, and concatenate the two substrings to form the fixed name. Do this for all users and return the result order by user_id
.
# Write your MySQL query statement below
select user_id, concat(upper(substring(name, 1, 1)), lower(substring(name, 2))) as name
from Users
order by user_id;