본문 바로가기
SQL

SQL_오라클 내장함수 (문자함수, 숫자함수, 날짜함수)

by 유서담 2023. 12. 11.

오라클 내장함수

 

  • SQL 작성이 사용할 수 있는 유용한 기능이 제공되는 함수
  • DBMS 제품마다 조금씩 차이가 있다

 

오라클 내장함수의 종류

 

 

단일행 함수

  • 조회된 행마다 하나의 결과를 반환한다
  • 단일행 함수는 중첩해서 사용할 수 이싿

 

단일행 함수의 종류

  • 문자함수 : 문자를 입력값으로 받아서 계산한 결과를 반환
  • 숫자함수 : 숫자를 입력값으로 받아서 계산한 결과를 반환
  • 날짜함수 : Date 타입의 값에 대한 처리를 수행 
  • 변환함수 : 데이터의 타입을 변환하는 처리를 수행
  • 기타함수 : nvl, case, decode 등의 함수가 있다

 

 

다중행 함수(그룹함수)

  • 조회된 행을 그룹으로 묶고 행 그룹당 하나의 결과를 반환한다
  • group by 절을 사용해서 조회된 행을 그룹으로 묶고 다중행 함수로 각 그룹당 하나의 결과(합계, 평균, 분산, 표준편차, 최고값, 최저값) 등을 계산해 낸다.

 

 

문자함수

 

  • LOWER (컬럼 혹은 표현식) : 소문자로 변환된 값을 반환한다
  • UPPER (컬럼 혹은 표현식) : 대문자로 변환된 값을 반환한다
  • CONCAT (컬럼 혹은 표현식, 컬럼 혹은 표현식) : 두 문자열을 연결해서 반환한다
  • LENGTH (컬럼 혹은 표현식) : 문자열의 길이를 반환한다
  • SUBSTR (컬럼 혹은 표현식, 시작위치, 길이) : 문자열을 시작위치부터 길이만큼 잘라서 반환한다.
    • 시작위치는 1부터 시작
  • INSTR (컬럼 혹은 표현식, 문자열) : 지정된 문자열이 등장위치를 반환한다
  • TRIM (컬럼 혹은 표현식) : 불필요한 좌우 여백이 제거된다
  • LPAD (컬럼 혹은 표현식, 길이, 문자) : 컬럼 혹은 표현식의 길이가 지정된 길이보다 짧으면 부족한 길이만큼 왼쪽에 지정된 문자가 채워진 문자열이 반환된다

 

LOWER, UPPER 사용예시

LOWER, UPPER 사용예시 및 결과

 

 

 

CONCAT 사용예시

CONCAT 사용예시 및 결과

 

 

 

CONCAT과 같은 결과를 출력하는  ||  사용한 예시

{"originWidth":772,"originHeight":409,"style":"alignCenter","caption":"이런식으로

 

 

 

LENGTH 사용예시

LENGTH 사용 예시 및 결과

 

 

WHERE절에서도 사용이 가능하다

 

 

 

SUBSTR 사용예시

SUBSTR 사용예시 및 결과출력

 

 

 

INSTR 사용예시

 

INSTR 사용예시 및 결과출력

 

 

 

TRIM 사용예시

 

TRIM 사용예시 및 결과출력

 

 

 

LPAD 사용예시

 

LPAD 사용예시 및 결과출력

 

 

 

숫자함수

 

  • ROUND (컬럼 혹은 표현수, 자리수) : 지정된 자리수까지 반올림한다                     << 많이사용
  • TRUNC (컬럼 혹은 표현수, 자리수) : 지정된 자리수까지 남기고 전부 버린다         << 많이사용
  • MOD (숫자1, 숫자2) : 나머지 값을 반환한다
  • ABS (컬럼 혹은 표현수) : 절대값을 반환한다
  • CEIL (컬럼 혹은 표현수) : 값을 정수로 올림한다
  • FLOOR (컬럼 혹은 표현수) : 값을 정수로 내림한다

 

 

ROUND 사용예시

ROUND 사용예시 및 결과출력

 

 

 

TRUNC 사용예시

TRUNC 사용예시 및 결과출력

 

 

 

MOD, ABS, CEIL, FLOOR 사용예시

 

MOD, ABS 사용예시

SELECT MOD(10,4), ABS(-10)
FROM DUAL;

-- 결과
MOD(10, 4) = 2
ABS(-10) = 10

 

 

CEIL 사용예시

SELECT CEIL(1), CEIL(1.1), CEIL(1.5), CEIL(1.9), CEIL(2)
FROM DUAL;

--결과
CEIL(1) = 1
CEIL(1.1) = 2
CEIL(1.5) = 2
CEIL(1.9) = 2
CEIL(2) = 2

 

FLOOR 사용예시

SELECT FLOOR(1), FLOOR(1.1), FLOOR(1.5), FLOOR(1.9), FLOOR(2)
FROM DUAL;

-- 결과
FLOOR(1) = 1
FLOOR(1.1) = 1
FLOOR(1.5) = 1
FLOOR(1.9) = 1
FLOOR(2) = 2

 

 

 

날짜함수

 

  • SYSDATE : 시스템의 현재 일자와 시간을 DATE 타입으로 반환. ( 데이터가 추가될 때, 데이터가 변경될 때 시스템의 현재 날짜와 시간정보를 저장하는 용도로 활용된다 )
  • SYSTIMESTAMP : 시스템의 현재 일자와 시간을 TIMESTAMP 타입으로 변환한다
  • ADD_MONTH(날짜, 숫자) : 날짜에 지정된 숫자만큼의 월을 더한 날짜를 반환한다
  • EXETRACT(포맷 FROM 날짜) : 날짜에서 형식에 해당하는 값을 조회한다 ( 형식 : YEAR, MONTH, DAY, HOUR, MINUTE, SECOND )
  • LAST_DAY(날짜) : 지정된 날짜를 기준으로 해당 월의 마지막 일자를 반환한다
  • NEXT_DAY(날짜, 요일) : 지정된 날짜를 기준으로 월의 마지막 일자를 반환한다
  • MONTHS_BETWEEN(날짜, 날짜) : 두 날짜 사이의 개월수를 반환한다

일수 관련 연산

 

날짜 + 숫자 = 숫자만큼 일자가 경과된 날짜를 반환

날짜 - 숫자 = 숫자만큼 이전 날짜를 반환

날짜 - 날짜 = 두 날짜사이의 일수를 반환 (날짜 +날짜는 존재하지 않는다)

날짜 + 1/24 = 1시간 이후의 날짜를 반환한다

 

TRUNC(날짜) : 지정된 날짜의 모든 시간 정보를 0시 0분 0초로 바꾼 날짜가 반환된다

ROUND(날짜) : 지정된 날짜의 시간정보가 정오를 지나기 전이면 해당날짜가 정오를 지났으면 하루 증가된 날짜가 반환

 

 

 

SYSDATE, SYSTIMESTAMP 출력 및 차이

SYSDATE, SYSTIMESTAMP 사용예시 및 결과출력

 

 

 

ADD_MONTHS 사용예시

ADD_MONTHS 사용예시 및 결과출력

 

 

 

EXTRACT 사용예시

EXTRACT 사용예시 및 결과출력

 

 

 

LAST_DAY, NEXT_DAY 사용예시

LAST_DAY 사용예시 및 결과출력

 

 

NEXT_DAY 사용예시 및 결과출력

 

 

 

MONTHS_BETWEEN 사용예시

MONTHS_BETWEEN 사용예시 및 결과출력

 

 

 

일수와 관련된 연산 예시

그냥 이러한 예시가 있다고만 알고 있으면 될 것 같다

 

 

'SQL' 카테고리의 다른 글

SQL_Join  (0) 2023.12.13
SQL_오라클 내장함수(변환함수, 기타함수)  (0) 2023.12.12
SQL_오라클의 데이터타입  (2) 2023.12.07
SQL_테이블, DML  (2) 2023.12.06
SQL_데이터베이스와 SQL  (0) 2023.12.05