| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
- 네이버광고
- sqld시험
- 네이버검색광고
- 마케팅
- DA광고
- SQLD
- 마케팅이슈
- 네이버파워링크
- 마케터공부
- 네이버ai검색
- 온라인마케팅
- SQL자격증
- 마케터실무
- 온라인광고
- 네이버마케팅
- 자격증공부
- 카카오
- 네이버이슈
- 마케터용어
- 마케터
- 마케터자격증
- 비전공자SQLD
- 디스플래이광고
- 네이버
- 온라인마케터
- 비전공자마케터
- 카카오모먼트
- GA4
- 마케팅자격증
- 네이버업데이트
- Today
- Total
주케터의 메모장
[SQLD] 비전공자의 SQLD 공부 : 함수 정의 및 예제 풀기(LTRIM,RTRIM,TRIM,SUBSTR,LENGTH) 본문
[SQLD] 비전공자의 SQLD 공부 : 함수 정의 및 예제 풀기(LTRIM,RTRIM,TRIM,SUBSTR,LENGTH)
JOOKETER 2023. 7. 24. 12:03안녕하세요 주케터입니다 :)
즐거운 월요일이네요!
저는 요즘 SQLD를 공부하고 있습니다.
개발자 용어를 왜 공부하냐고요!?
방대해지고 있는 데이터를 조금이나마 마케팅에 유용하게 사용하기 위해서는
이 언어를 배워서 빠르게 데이터를 추출하고,
마케팅에 적용하기에 용이하다고 생각을 했기 떄문입니다!
물론, 부족하지만 간단하게 오늘은
독학하고 있는 함수를 조금 정리하려고 해요.
그럼 시작해볼까요?

1. LTRIM(문자열, 특정문자) 함수
특정문자를 따로 명시해주지 않으면, 문자열의 왼쪽 공백을 제거하고,
명시해주었을 경우, 문자열을 왼쪽부터 한 글자씩 비교하여
특정 문자에 포함되어 있으면 제거하고 포함되지 않았으면 멈춘다.
우선 RTRIM도 비슷하니 함께 정의를 알아보고 문제를 풀어볼까요?
2. RTRIM(문자열, 특정문자) 함수
특정문자를 따로 명시해주지 않으면, 문자열의 오른쪽 공백을 제거하고,
명시해주었을 경우, 문자열을 오른쪽부터 한 글자씩 비교하여
특정 문자에 포함되어 있으면 제거하고 포함되지 않았으면 멈춘다.
오른쪽과 왼쪽의 차이이죠?
문제를 봅시다.
EX. LTRIM(' JENNIE') -> JENNIE
왼쪽 공백을 제거하는 LTRIM함수를 썻기때문에 해당 답은 저렇게 나옵니다.
EX. RTRIM('JENNIE ') -> JENNIE
로 답은 동일하겠죠?
EX. RTRIM('블랙핑크','핑크') - > 블랙
특정문자를 명시하여서 오른쪽에서 부터 '핑크'단어가 있는지 확인했는데 있어서
'핑크'단어를 제외합니다.

자! 여기서 주의할점
EX. RTRIM('핑크블랙','핑크') 의 정답은 무엇일까요?
위와 동일한 '블랙'일까요? 아뇨!!! 정답은 '핑크블랙'입니다.
왜냐고요?! RTRIM의 함수의 정의대로 오른쪽 두글자에
해당 특정문자인 '핑크'가 있는지 확인을 하는데
없었기 때문에 해당 함수는 끝이나서 그대로를 답으로 내게 되기 때문입니다.
해당 내용을 활용한 문제는 뒤로 가서 다시 풀어보아요 :)
3. TRIM([위치][특정문자][FROM] 문자열) 함수
옵션이 하나도 없을 경우, 문자열의 왼쪽과 오른쪽 공백을 제거하고,
그렇지 않을 경우, 문자열을 위치(LEADING or TRAILING or BOTH)로 지정된 곳부터 한 글자씩
특정문자와 비교하여 같으면 제거하고 같지않으면 멈춘다.
LTRIM,RTRIM과 달리 특장문자는 한 글자만 지정할 수 있다.
EX. TRIM(' JENNIE ') -> JENNIE
EX. TRIM(LEADING '블' FROM '블랙핑크') -> 랙핑크
아 여기서 어떻게 절을 봐야하시는지 모르는 분들 ...
꼭 FROM 부터 보셔요!! ~로 부터라는 뜻처럼 '블랙핑크'로부터 '블'단어를 TRIM한다.
해서 '랙핑크' 완성!
여기까지는 쉽나요?
4. SUBSTR(문자열,시작점 [ ,길이]) 함수
문자열의 원하는 부분만 잘라서 반환해주는 함수.
길이를 명시하지 않았을 경우 문자열의 시작점부터 문자열의 끝까지 반환된다.
이렇게 정의만 보면 헷갈릴 수 있어요.
아래의 예시를 보시죠.
EX. SUBSTR('블랙핑크제니',3,2) - > 핑크
왜 핑크가 나오지 하시는 분들!
저기 뒤의 숫자가 3이 있는것은 3번째 글자부터
2가 있는 것은 두글자! 라는 말이에요
그럼 3번째 글자인 '핑'부터 두글자이니 '핑크'가 되겠죠!
이해가 되시나요?

저도 헷갈려서 여러번 읽어보았답니다 ㅎㅎ
5. LENGTH(문자열) 함수
문자열의 길이를 반환해주는 함수 = 글자수 몇개인지 세아려주는 함수
이렇게 생각하시면 이해가 빨라요!
EX.LENGTH('JENNIE') -> 6
위의 내용을 활용한
문제를 풀어볼까요?
Q. 다음의 SQL의 결과로 가장 적절한 것은 무엇인가?
[SQL]
SELECT LENGTH(RTRIM(COL1'LE')) + LENGTH(LTRIM(COL2,'DE')) AS RESULT
FROM SAMPLE;
| COL1 | COL2 |
| ORACLE | DATABASE |
| SQL | DEVELOPER |
자 너무 어렵게 생각하지마시고 차근차근 문제를 풀어볼까요?
우선 괄호 안에 있는 것부터! COL1의 'LE'글자를 RTRIM해라! 그럼 우측 두글자를 볼까요?
ORAC 와 SQ가 남게 됩니다.
왜 SQ냐고요?? 한자 한자도 적용이 되기 때문입니다!
LE합쳐진 것으로 보는 것이 아닌, 'L','E'로 본답니다.
다음으로는, LENGTH를 보라고 했으니
ORAC는 4 , SQ는 2 가 되겠죠?
다음, COL2의 'DE'를 LTRIM해라! 그럼 좌측 두 글자를 봅시다.
위와 동일하게 'D'를 뺀 ATABASE가 남고, VELOPER가 남습니다.
그럼 ATABASE는 7자 , VELOPER는 7자 입니다.
| COL1 | COL2 |
| ORAC(4) | ATABASE(7) |
| SQ(2) | VELOPER(7) |
정답에 나타나있는 가로 열대로 더하면 11과 9가 정답입니다 :)
| RESULT |
| 11 |
| 9 |
오늘은 간단한 함수를 배워봤는데요!
컴활때 배운 함수와 좀 비슷하면서도 다른 SQLD!
도움이 되셨을까요?
저도 많이 부족해서 조금더 열심히 배우고,
헷갈리는 부분 함께 공유하겠습니다 :)
감사합니다.
그럼 안녕!

'TEST > SQLD' 카테고리의 다른 글
| [SQLD] 그룹 함수 ROLLUP,CUBE,GROUPING SETS 에 대해 알아보자! (0) | 2023.09.04 |
|---|---|
| [SQLD] 명령어 DROP/TRUNCATE/DELETE의 차이점에 대해 쉽게 알아보자! (0) | 2023.08.31 |
| [SQLD] 비전공자의 SQLD 공부 서브쿼리란 무엇일까?(스칼라,인라인,중첩) 참고 인강 有 (0) | 2023.08.17 |
| [SQLD] 비전공자의 SQLD 공부 : 반정규화(De-Normalization)에 대해 알아보자! (0) | 2023.08.10 |
| [SQLD] 비전공자의 SQLD 공부 : STANDARD JOIN중 INNER JOIN에 대해 알아보자! 개념, 예제 풀어보기 (0) | 2023.07.27 |