컴퓨터/SQL

오라클 SQL 함수 정리 - ① 문자 함수

해피밀세트 2020. 1. 28. 16:40

 

단일행 함수 : 문자함수, 숫자함수, 날짜함수, 형변환 함수, 일반함수

   - 말그대로 단일값(하나의값)만 리턴하는 함수

 

 

1. 문자 함수

   1) uper : 대문자로 변환하는 함수

   2) lower : 소문자로 변환하는 함수

   3) initcap : 첫글자 대문자 나머지는 소문자로 변환하는 함수 / 인수값(' ')은 하나만 사용해야함

select upper(last_name), lower(last_name), initcap(last_name)

from employees;

  

  4) concat : 연결연산자(||) 동일한 함수 / 인수값(' ')은 두개만 사용해야함

                       (리터럴문자 사용 못함)

select last_name || first_name, concat(last_name, first_name)

from employees;

 

    5) length : 문자의 길이를 숫자값으로 표현하는 함수

    6) lengthb : 문자의 바이트(byte)값으로 표현하는 함수

                          (CHARACTERSET의 영향을 받는다.)

select last_name, length(last_name)

from employees;

 

  7) instr : 문자의 위치를 리턴하는 함수 / 글자가 있는지 없는지 찾을때 좋음

             instr(찾으려는 컬럼, 찾고자 하는 문자, 시작부분, 몇번째 나오는 문자를 찾을지)

select last_name, instr(last_name, 'a', 1, 1)

from employees;

select instr('aabaabccb','b',1,1)

from dual;

 

  8) substr : 문자를 갯수만큼 추출하는 함수

               substr(뽑으려는 컬럼, 뽑을 글자 위치, 몇개 뽑을지)

select last_name, substr(last_name, 1, 2), substr(last_name, -1, 1)

from employees;

select substr('가나다라마',1,2)

from dual;

 

  9) substrb : 문자를 바이트 값만큼 추출하는 함수 / 글자의 맨뒷자리를 알고 싶으면 -1을 쓰면됨

                 substrb(문자열, 시작위치, 길이)

select substrb('가나다라마',1,6)

from dual;

 

  10) trim : 연속되는 글자의 접두, 접미 문자를 자르는 함수 / 연속되는 공백문자를 찾아서 제거

select trim('a' from 'aaabbcaa'), trim(' ' from '    bbc  ')

from dual;

 

  11) ltrim : 접두를 자르는 함수

  12) rtrim : 접미를 자르는 함수

select ltrim('aabbcaa','a'), rtrim('aabbcaa','a')

from dual;

 

  13) replace : 문자를 치환하는 함수

select replace('100-001','0','*')

from dual;

 

  14) lpad: 문자의 자리를 고정시킨후 문자값을 오른쪽을 기준으로 채우고

                 빈 왼쪽의 공백을 다른 값으로 채우는 함수

  15) rpad: 문자의 자리를 고정시킨후 문자값을 왼쪽을 기준으로 채우고

                 빈 오른쪽의 공백을 다른 값으로 채우는 함수

salary가 숫자로 되어있으니까 가능(오버로드 기능)

select lpad('abcd', 10, '*')

from employees;

select rpad(salary, 10, '*')

from employees;

반응형

'컴퓨터 > SQL' 카테고리의 다른 글

오라클 SQL 함수 정리 - ③ 날짜 함수, ④ 형변환 함수  (0) 2020.01.28
오라클 SQL 함수 정리 - ② 숫자 함수  (0) 2020.01.28
트랜잭션  (0) 2020.01.22
데이터 삽입과 변경  (0) 2020.01.22
데이터 검색  (0) 2020.01.21