본문 바로가기

코딩일기

SQL 코드카타 120 - Fix Names in a Table

https://leetcode.com/problems/fix-names-in-a-table/description/

 

Column Name Type
user_id int
name varchar

 

Employee 테이블:

  • user_id : 테이블의 고유 키
  • name   : 사용자의 이름

이름을 수정하여 첫 글자만 대문자로, 나머지는 소문자로 만드세요.

결과 테이블은 user_id 순서로 정렬되어야 합니다.

 

select
    ucase(substring(name, 1, 1)),
    lcase(substring(name, 2))
from Users

 

substring으로 분리한 문자들을 ucase와 lcase를 이용해서 각각 대문자와 소문자로 반환한다.

 

select
    concat(ucase(substring(name, 1, 1)), lcase(substring(name, 2))) name
from Users

 

concat을 이용해서 두 문자를 결합한다.

 

select
    user_id,
    concat(ucase(substring(name, 1, 1)), lcase(substring(name, 2))) name
from Users
order by user_id

 

user_id를 함께 출력하도록 하고 user_id를 기준으로 정렬하면 완료!

성공!

 

문자를 대소문자로 변경할 수 있는 ucase와 lcase를 배웠다. 그리고 substring으로 테이블 내의 문자들을 슬라이싱 할 수 있다는 것을 알았다.