슬슬 손가락이 풀리기 시작하지만, 힘내보겠습니다. 저번 포스팅에서는 숫자 함수들만 나열해보았었죠, 이번에 거창히 설명드릴 건 문자열 함수들입니다.
함께 알아보겠습니다.
이는 자바스크립트에서도 자주 사용되는 함수입니다. 이것의 기능은 문자열을 하나로 합쳐주는 것인데요.
concat( , )
최대 파라미터 2개!
이 concat 함수는 파라미터를 2개 밖에 못 가져오기에, 더 가져오시려면 최대 4개로. 안에 concat 파라미터를 넣어주셔야 합니다.

"Hello"와 "Bye"를 하나로 붙여보겠습니다.
이를 더 간단히 사용하기 위해 '||'도 사용하실 수 있습니다.

결과 값이 잘 나오죠.
첫 글자를 대문자로 변환시켜주는 문자열 함수 또한 존재합니다.
initcap()
데이터베이스에서는 모든 글자가 다 대문자로 통합니다. 하지만 가독성을 위해, 간단 설명은 소문자로 표기하겠습니다.
그럼 예시를 볼까요?

"good morning"이라는 문자열의 첫 글자를 대문자로 변환시켜줍시다.
이처럼 안에 공백이 있는 경우에는 다른 단어라고 판단해 DB에서는 "good"과 "morning"을 따로 인식합니다.

따라서, "Good Morning"이 되었네요.
첫 글자뿐만이 아닌, 단어 전체를 변환시켜주고 싶을 때도 있겠죠? 그럴 때는 이 함수들을 사용하시면 됩니다.
1. LOWER() : 소문자 변환
2. UPPER() : 대문자 변환

위의 예시는 "GOOD"라는 문자열을 소문자로, "good"라는 것은 대문자로 변경해주는 모습입니다.
그럼 결과값은 이처럼 저 둘이 반대가 된 모습으로 나오겠죠?

이 왼쪽, 오른쪽 패드(pad)는 왼쪽 글자에서부터, 혹은 오른쪽 글자에서부터를 뜻합니다. 이는 변환할 때에 많이 쓰이는데요.
LPad( (문자열) , (글자수), (변환할 값) ) : 변환 글자 (좌측부터)
RPad( (문자열) , (글자수), (변환할 값) ) : 변환 글자 (우측부터)
복잡하죠. LPad부터 예시를 볼까요?

가장 맨 위에 있는 것은 그저 "good"이라는 문자열을 6자리로 만드는 겁니다. 하지만, 지정한 변환 값이 없으니 공백으로 채워져 그냥 "good"만 나타나게 되겠죠.
그 밑의 것은 7자리 글자로 만들되, 빈 값은 "#"으로 채워넣으란 것입니다.
그리고 그 밑의 것은 "L"글자로 공백을 변환하라는 것이죠.
그럼 결과 값은 이렇게 나타납니다.

그럼 이제 RPad에 대한 예시도 볼까요?
이는 이전과 똑같이 작용하지만, 우측에서부터 시작한다는 점이 다릅니다.

자바에서도 공백을 줄여주기 위해 trim이라는 메소드를 사용했었죠. DB에서도 마찬가지입니다. 이는 글자를 줄여주는 같은 기능을 하는데요.
*LTrim((문자열), (삭제할 글자)) : 좌측부터 줄이기
RTrim((문자열), (삭제할 글자)) : 우측부터 줄이기*
예시를 봅시다.

먼저 LTrim을 입혀준 모습입니다.
이는 "ggggoodbye"에서 "g"를 앞에서부터 잘라줍니다.

그럼 이와 같은 모습이 나타나게 되겠죠.
RTrim은 그와 반대입니다.

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

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