upper, lower, initcap, length, substr, instr, lpad(rpad)
upper : 문자열을 모두 대문자로
lower : 문자열을 모두 소문자로
initcap : 문자열의 첫 문자만 대문자로
예시)
select upper ('nice to meet you') from dual; --upper 결과 : NICE TO MEET YOU
select lower ('NICE TO MEET YOU') from dual; --lower 결과 : nice to meet you
select initcap ('nice to meet you') from dual; --initcap 결과 : Nice To Meet You
length : 문자열의 길이를 문자 길이로 출력
lengthb : 문자열의 길이를 byte 단위로 출력
* 오라클의 알파벳 기본 설정은 1byte이고 비알파벳은 3byte이다.
예시)
select length('hello') from dual; -- 결과 : 5
select lengthb ('hello') from dual; -- 결과 : 5
select length('안녕하세요') from dual; -- 결과 : 5
select lengthb('안녕하세요') from dual; -- 결과 : 15
substr : 문자열을 글자 수 대로 자르기
substrb : 문자열을 byte 단위로 자르기
* 오라클의 알파벳 기본 설정은 1byte이고 비알파벳은 3byte이다.
* DBA에서의 외국어 할당 byte는 바꿀 수 있다.
예시)
안 녕 하 세 요
123 456 789 101112 131415
n i c e t o m e e t y o u
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
select substr('nice to meet you', 2, 10) from dual; --2번지부터 10개 자르기.(길이는 1부터 시작)
select substr('안녕하세요', 2, 3) from dual; -- 결과 : 안나옴
select substrb('안녕하세요', 4, 6) from dual; -- 결과 : 녕
instr : 문자열을 글자 수 대로 찾기
instrb : 문자열을 byte 단위로 찾기
* 오라클의 알파벳 기본 설정은 1byte이고 비알파벳은 3byte이다.
예시)
select instr('nice to meet you', 'to') from dual; -- 결과 : 6
select instr('nice to meet you', 'e', 1, 1) from dual; -- 결과 : 4
select instr('nice to meet you', 'e', 1, 2) from dual; -- 결과 : 10 e, 시작번지n, n번째
select instr('안녕하세요', '하세') from dual; --3
select instrb('안녕하세요', '하세') from dual; --7
lpad : 왼쪽을 지정한 문자로 채우기
rpad : 오른쪽을 지정한 문자로 채우기
* 문자열의 수도 채우는 수에 포함된다.
예시)
select lpad('hi', 10, '#') from dual; -- ########hi
select lpad('hi', 10, ' ') from dual; -- hi
select lpad('hi', 10, '@') from dual;--hi
select rpad('hi', 10, '#') from dual; --hi########
select rpad('hi', 10, ' ') from dual;--hi
select rpad('hi', 10, '@') from dual;--hi@@@@@@@@