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