본문 바로가기
DB/SQL_Example

문자함수 / 숫자함수 / 날짜함수(by Oracle)

by Mr.DonyStark 2024. 1. 19.

1. 문자함수

□ INITCAP

  ○ 인수로 입력되는 칼럼이나 표현식의 문자열에서 첫 번째 영문자를 대문자로 변환하는 함수

  ○  INITCAP (expr | column)

select name, userid, initcap(userid)
from student

 

□ LOWER, UPPER

  ○ Lower 함수 : 인수로 입력되는 칼럼이나 표현식의 문자열 전체를 소문자로 변환

    - LOWER (expr | column )

  ○ Upper 함수 : 문자열 전체를 대문자로 변환하는 함수

    - UPPER (expr | column )

select userid, lower(userid), upper(userid)
from student
where studno = 20101;

 

□ LENGTH, LENGTHB

  ○  LENGTH 함수는 인수로 입력되는 칼럼이나 표현식의 문자열의 길이를 반환하는 함수
  ○  LENGTHB 함수는 문자열의 바이트 수를 반환하는 함수

select dname, length(dname), lengthb(dname)
from department;

 

□ CONCAT : 첫 번째 문자와 두 번째 문자를 연결

  ○ CONCAT(expr|column, expr|column)

select concat(concat(name, '의 직책은'), position)
from professor;

 

□ SUBSTR : 문자열의 일부를 추출하는 함수

  ○ 문자열에서 m번째 문자부터 n개의 문자 추출
  ○ m이 음수이면 시작위치는 문자열의 마지막
  ○ n을 생략하면 m부터 마지막 문자까지 추출

  ○ SUBSTR (expr | column, m[,n] )

select name, idnum, substr(idnum, 1, 6) birth_date, substr(idnum, 3,2) birth_mon
from student
where grade = '1'

 

□ INSTR 

  ○ 문자열중에서 사용자가 지정한 특정 문자가 포함된 위치를 반환하는 함수
  ○ n번째 위치부터 m번째 char의 위치를 찾음
  ○ 만약 n이 음수이면 char 의 뒤부터 찾음

  ○ INSTR (expr | column, char[,n[m]] )

select dname, instr(dname, '과') from department;

 

□ LPAD, RPAD

  ○ LPAD와 RPAD 함수는 문자열이 일정한 크기가 되도록 왼쪽 또는 오른쪽에 지정한 문자를 삽입하는 함수
  ○ LAPD (expr | column, m[,char])
  ○ RAPD (expr | column, m[,char])

  ○ m 폭만큼 공백을 왼쪽 또는 오른쪽에 char 문자 삽입, char가 없으면 공백 삽입

select position, lpad(position, 10, '*') lapad_position, userid, rpad(userid, 12, '*') rpad_user_id
from professor;

 

 

2. 숫자함수

□ ROUND 함수 : 지정한 자리 이하에서 반올림한 결과 값을 반환하는 함수

  ○ ROUND (expr | column, n )

select name, sal, sal/22, round(sal/22), round(sal/22,2), round(sal/22,-1)
from professor where deptno = 101

 

□ Trunc 함수 : 지정한 소수점 자리수 이하를 절삭한 결과 값을 반환하는 함수

  ○ TRUNC (expr | column, n)

  ○ expr 또는 column 값을 소수점 이하 n+1자리에서 절삭한 값

select name, sal, sal/22, trunc(sal/22), round(sal/22,2), trunc(sal/22,-1)
from professor
where deptno = 101;

 

□ MOD 함수 : MOD 함수는 나누기 연산후에 나머지를 출력하는 함수

  ○ mod (m, n )

  ○ m을 n으로 나눈 나머지

select name, sal, comm, mod(sal,comm)
from professor
where deptno = 101;

 

□ CEIL, FLOOR 함수

  ○ CEIL 함수는 지정한 숫자보다 크거나 같은 정수 중에서 최소 값을 출력하는 함수

  ○ FLOOR함수는 지정한 숫자보다 작거나 같은 정수 중에서 최대 값을 출력하는 함수

  ○ CEIL (expr | column )
  ○ FLOOR (expr | column )

select ceil(19.6), floor(13.64) from dual;

 

 

3. 날짜함수

□ SYSDATE 함수

  ○ SYSDATE 함수는 시스템에 저장된 현재 날짜를 반환하는 함수

  ○ FLOOR함수는 지정한 숫자보다 작거나 같은 정수 중에서 최대 값을 출력하는 함수

select sysdate from dual;

 

□ MONTHS_BETWEEN, ADD_MONTHS

  ○ MONTHS_BETWEEN과 ADD_MONTHS 함수는 월 단위로 날짜연산을 하는 함수

  ○ MONTHS_BETWEEN (date1, date2)
  ○ ADD_MONTHS (date, 개월 수)

  ○ MONTHS_BETWEEN : date1과 date2 사이의 개월 수를 계산
  ○  ADD_MONTHS : date에 개월 수를 더한 날짜 계산

select profno, hiredate,
    MONTHS_BETWEEN(SYSDATE, hiredate) TENURE,
    ADD_MONTHS(hiredate, 6) REVIEW
from professor
where months_between(sysdate, hiredate) < 120;

'DB > SQL_Example' 카테고리의 다른 글

일반함수 (by Oracle)  (0) 2024.01.19
데이터 타입변환 (by Oracle)  (0) 2024.01.19
오라클DB 기본 쿼리문 ②  (0) 2024.01.17
오라클DB 기본 쿼리문 ①  (0) 2024.01.16
[오라클]오류메시지별 조치방법  (0) 2024.01.16