본문 바로가기
IT Study/Database

[Oracle] SQL 단일 행 함수

by dev_huhu 2021. 2. 18.
반응형

단일 행 함수

: 함수가 행마다 적용됨

 

- 숫자 함수

MOD(m,n)

: m을 n으로 나눈 나머지를 반환

SELECT MOD(10,3) "Modulus"
FROM dual;

 

ROUND(m,n)

: m을 소수점 n+1 자리에서 반올림한 결과를 반환한다.

SELECT ROUND(12.789,2) "ROUND"
FROM dual;

 

- 문자 함수

LOWER(char)

: 입력된 문자 값을 소문자로 변환

SELECT LOWER('Hello') "Lower"
FROM dual;

 

SUBSTR(str, pos, length)

: 문자열 str에서 pos부터 length까지의 문자를 반환

SELECT SUBSTR('Hello World',1,5) "Substr"
FROM dual;
# Hello 출력

 

- 날짜 함수

SYSDATE

: 현재 시스템 날짜를 반환

SELECT SYSDATE
FROM dual;

 

ADD_MONTH(date, integer)

: 지정한 date의 월에 integer를 더한 값 반환

 

LAST_DAY(date)

: 해당 월의 마지막 일을 반환

SELECT LAST_DAY(SYSDATE)
FROM dual;

 

MONTHS_BETWEEN(date1, date2)

: date1과 date2 사이의 기간을 월로 나타낸다. (date1이 date2보다 큰 값이다.)

 

- 변환 함수

TO_CHAR(date, 'format')

: DATE 관련 데이터 타입을 VARCHAR2 데이터 타입으로 변환

SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD')
FROM dual;
# 2021-02-18 출력

 

D 요일 번호 (1~7)
DAY 요일명
DY 요일명 약자
DD 일 (1~31)
HH 시 (0~12)
HH24 시 (0~23)
MI 분 (0~59)
MM 월 (1~12)
MON 월 이름 약자
MONTH 월 이름
SS 초 (0~59)
YEAR 년도 이름 (영문)
Y
YY
YYY
YYYY
1자리 년도
2자리 년도
3자리 년도
4자리 년도
AM 오전 (현재 시간이 오전인지 오후인지 상관 없음)
PM 오후 (현재 시간이 오전인지 오후인지 상관 없음)

 

TO_CHAR(number, 'format')

: NUMBER 타입을 VARCHAR2 데이터 타입으로 변환 (format에 들어갈 숫자는 9로 표현)

SELECT TO_CHAR(10000, '$999,999')
FROM dual;
# $10,000 출력

 

- 기타 함수

DECODE(expr1, expr2 [expr3, expr4, ... ], result, default)

: expr1과 expr2를 비교하여 같으면 result를 반환, 같은게 전혀 없다면 default 값을 반환 (expr1과 expr2비교 후 같은게 없으면 expr3과 expr4 비교 ...)

 

CASE

: DECODE 함수와 기능은 흡사하나 여러 가지의 result를 반환할 수 있다.

CASE value
WHEN expr1 THEN result1
WHEN expr2 THEN result2
ELSE default
END CASE

 

NVL(expr1, expr2)

: expr1이 NULL인 경우 expr2의 값을 반환

반응형

'IT Study > Database' 카테고리의 다른 글

[Oracle] 테이블과 데이터 복사하기  (0) 2021.02.25
[Oracle] 데이터 사전  (0) 2021.02.22
[Oracle] COMMENT 추가/수정/조회/삭제  (0) 2021.02.20
[Oracle] SQL 기본  (0) 2021.02.18
[Oracle] Join 조인  (0) 2021.02.01

댓글