Problem Solving

[LeetCode] Fix Names in a Table

luminous13 2022. 11. 7. 13:43

문제

풀이

name 속성의 값을 첫 문자는 대문자로 나머지 문자는 소문자로 수정하는 SQL을 작성해야 한다.그리고  결과는 user_id를 기준으로 오름차순 정렬을 해야한다. mysql에서 제공하는 여러 함수들을 이용해서 결과를 구할 수 있다.

문제를 풀기 위해 사용할 함수는 다음과 같다.

  • CONCAT(A,B): A,B 문자열을 연결한 문자열을 반환하는 함수
  • UPPER(A): 영어 문자열 A를 대문자로 구성된 문자열로 반환하는 함수
  • LOWER(A): 영어 문자열 A를 소문자로구성된 문자열로 반환하는 함수
  • LEFT(A,N): 문자열 A를 왼쪽부터 길이가 N만큼의 substring을 반환하는 함수
  • RIGHT(A,N):문자열 B를 오른쪽부터 길이가 N만큼의 substirng을 반환하는 함수
1
2
3
select user_id, concat(upper(left(name,1)), lower(right(name, length(name)-1))) as name
from users
order by user_id;
cs

 

MYSQL 은 부분 문자열을 추출하는 SUBSTR(A, pos, len)또한 존재한다. 이 함수를 이용해서도 답을 구할 수 있을것 같다.