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;

All Problems

All Solutions