Coding Planet
leetcode > 1667. Fix Names in a Table 본문
반응형
✨ 문제: 1667. Fix Names in a Table
https://leetcode.com/problems/fix-names-in-a-table/description/?envType=study-plan&id=sql-i
💻코드
SELECT user_id, CONCAT(UPPER(SUBSTR(name, 1,1)), LOWER(SUBSTR(name, 2)))
AS name
FROM users
ORDER BY
user_id ASC
👩💻 풀이 방법
- 문자열의 첫번째글자를 대문자로, 나머지 문자를 소문자로 바꾸는 문제이다.
- 먼저 하나의 필드 데이트의 일부를 읽는 SUBSTR() 함수로 NAME의 문자열을 쪼개준다. 이 때, SUBSTR(컬럼명, 문자인덱스, 문자의 길이) 형식을 이용하는데 문자의 길이를 지정하지 않으면 해당 문자 인덱스부터 문자열의 마지막까지 전체를 지정한다.
- SUBSTR()함수를 통해 문자열을 분리한 다음 해당 문자열을 각각 대문자와 소문자로 변환하는 UPPER(), LOWER()함수를 사용한다.
- 그 다음 SUBSTR()로 쪼개주었던 문자열을 다시 합쳐주는 CONCAT()를 이용하여 의도한 형식의 NAME으로 바꿔준다.
🔔 느낀점
- 모든 함수를 다 알수는 없지만 자주 사용되는 함수의 경우 의식적으로 외워두어야 겠다는 생각이 들었다.
- 자꾸 디테일에서 실수가 나는데 SUBSTR에서 문자열의 인덱스는 1에서 시작함에도 불구하고 처음 SQL문을 만들 때 인덱스가 0에서 시작한다고 착각하여 틀렸었다.
반응형
'SQL' 카테고리의 다른 글
leetcode > 1527. Patients With a Condition (0) | 2023.02.06 |
---|---|
leetcode > 1484. Group Sold Products By The Date (0) | 2023.02.06 |
leetcode > 196. Delete Duplicate Emails (0) | 2023.02.06 |
leetcode > 1873. Calculate Special Bonus (0) | 2023.02.05 |
leetcode > 183. Customers Who Never Order (0) | 2023.02.05 |
Comments