Day02-5. Oracle 함수 -4.

이하연·2023년 2월 9일

DBMS 교육

목록 보기
10/22

슬슬 손가락이 풀리기 시작하지만, 힘내보겠습니다. 저번 포스팅에서는 숫자 함수들만 나열해보았었죠, 이번에 거창히 설명드릴 건 문자열 함수들입니다.

함께 알아보겠습니다.

문자열 Oracle 함수

1. concat

이는 자바스크립트에서도 자주 사용되는 함수입니다. 이것의 기능은 문자열을 하나로 합쳐주는 것인데요.

concat( , )

최대 파라미터 2개!

이 concat 함수는 파라미터를 2개 밖에 못 가져오기에, 더 가져오시려면 최대 4개로. 안에 concat 파라미터를 넣어주셔야 합니다.

"Hello"와 "Bye"를 하나로 붙여보겠습니다.

이를 더 간단히 사용하기 위해 '||'도 사용하실 수 있습니다.

결과 값이 잘 나오죠.

2. initcap

첫 글자를 대문자로 변환시켜주는 문자열 함수 또한 존재합니다.

initcap()

데이터베이스에서는 모든 글자가 다 대문자로 통합니다. 하지만 가독성을 위해, 간단 설명은 소문자로 표기하겠습니다.

그럼 예시를 볼까요?


"good morning"이라는 문자열의 첫 글자를 대문자로 변환시켜줍시다.

이처럼 안에 공백이 있는 경우에는 다른 단어라고 판단해 DB에서는 "good"과 "morning"을 따로 인식합니다.


따라서, "Good Morning"이 되었네요.

3. 대/소문자

첫 글자뿐만이 아닌, 단어 전체를 변환시켜주고 싶을 때도 있겠죠? 그럴 때는 이 함수들을 사용하시면 됩니다.

1. LOWER() : 소문자 변환
2. UPPER() : 대문자 변환

위의 예시는 "GOOD"라는 문자열을 소문자로, "good"라는 것은 대문자로 변경해주는 모습입니다.

그럼 결과값은 이처럼 저 둘이 반대가 된 모습으로 나오겠죠?

4. l/r pad

이 왼쪽, 오른쪽 패드(pad)는 왼쪽 글자에서부터, 혹은 오른쪽 글자에서부터를 뜻합니다. 이는 변환할 때에 많이 쓰이는데요.

LPad( (문자열) , (글자수), (변환할 값) ) : 변환 글자 (좌측부터)
RPad( (문자열) , (글자수), (변환할 값) ) : 변환 글자 (우측부터)

복잡하죠. LPad부터 예시를 볼까요?

가장 맨 위에 있는 것은 그저 "good"이라는 문자열을 6자리로 만드는 겁니다. 하지만, 지정한 변환 값이 없으니 공백으로 채워져 그냥 "good"만 나타나게 되겠죠.

그 밑의 것은 7자리 글자로 만들되, 빈 값은 "#"으로 채워넣으란 것입니다.

그리고 그 밑의 것은 "L"글자로 공백을 변환하라는 것이죠.

그럼 결과 값은 이렇게 나타납니다.

그럼 이제 RPad에 대한 예시도 볼까요?

이는 이전과 똑같이 작용하지만, 우측에서부터 시작한다는 점이 다릅니다.

5. l/r trim

자바에서도 공백을 줄여주기 위해 trim이라는 메소드를 사용했었죠. DB에서도 마찬가지입니다. 이는 글자를 줄여주는 같은 기능을 하는데요.

*LTrim((문자열), (삭제할 글자)) : 좌측부터 줄이기
RTrim((문자열), (삭제할 글자)) : 우측부터 줄이기*

예시를 봅시다.


먼저 LTrim을 입혀준 모습입니다.

이는 "ggggoodbye"에서 "g"를 앞에서부터 잘라줍니다.


그럼 이와 같은 모습이 나타나게 되겠죠.

RTrim은 그와 반대입니다.


똑같이 "g"로 해주면 빈 값이 나오겠죠. 그럼 이제 "e"로 바꿔서 해보면 이런 값이 나옵니다.


"goodbye"에서 "e"가 빠졌죠.

To Be Continued..

이로서 첫번째 Oracle 문자열 함수 설명을 마칩니다. 다음 포스팅에서 계속 이어가겠습니다.

profile
애옹.

0개의 댓글