Coding/SQL

[LeetCode-SQL 50] 1667. Fix Names in a Table

kangplay 2025. 3. 8. 00:12
문제

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

설명

사용자 이름의 첫 번째 요소를 대문자로, 나머지 요소는 소문자로 치환 후 조회하는 간단한 문제이다.

하지만 나는 문자열에 관련된 SQL 함수를 잘 몰랐기 때문에 이에 대해 학습할 수 있는 문제였다.

  • insert 함수
    • 문자열의 일부를 삭제하고 다른 문자열을 삽입하는 함수
    • INSERT(문자열, 시작위치, 삭제할 문자 개수, 삽입할 문자열)
  • lower, upper 함수
    • 문자열을 대문자 또는 소문자로 변환
    • LOWER(문자열), UPPER(문자열)
  • substr 함수
    • 문자열에서 특정 위치부터 일부만 잘라서 반환하는 함수
      • SUBSTR(문자열, 시작위치, 길이)
  • length 함수
    • 문자열의 길이를 반환하는 함수
      • LENGTH(문자열)
  • concat 함수
    • 문자열을 연결하는 함수
      • concat(문자열1, 문자열2, ..., 문자열 n)
구현
# Write your MySQL query statement below
select user_id, insert(name,2,LENGTH(name),lower(substr(name,2,LENGTH(name)))) as name
from (
    select user_id, insert(name,1,1,upper(substr(name,1,1))) as name
    from users) as a
order by user_id