함수란 변수를 특정한 형태로 변화시키는 것
📌 대표적인 문자 함수
함수 설명 LOWER 모든 문자를 소문자로 변환한다 UPPER 모든 문자를 대문자로 변환한다 LENGTH 문자의 길이를 나타낸다 SUBSTR 문자 값 중 원하는 길이만큼만 나타낸다 RTRIM 문자열 오른쪽 공백을 잘라낸다 LTRIM 문자열 왼쪽 공백을 잘라낸다 TRIM 문자열의 왼쪽, 오른쪽 공백을 잘라낸다 REPLACE 특정 문자열을 다른 문자열로 대체한다 COALESCE 조건에 따라 여러 가지 값으로 치환한다 INITCAP 첫 글자는 대문자, 나머지는 소문자로 변환한다
📌 LOWER, UPPER
전체를 대/소문자로 변경
EX) SELECT LOWER('GOOD'), UPPER('good')
FROM dual
;
📌 SUBSTR
SUBSTR (문자열, 시작위치, 길이)
EX) SELECT SUBSTR('good morning john', 1, 4)
FROM dual
;
EX) SELECT SUBSTR('good morning john', 8, 4)
FROM dual
;
EX) SELECT SUBSTR('good morning john', 8)
FROM dual
;
EX) SELECT SUBSTR('good morning john', -4)
FROM dual
;
📌 REPLACE
EX) SELECT REPLACE ('good morning tom', 'morning', 'evening')
FROM dual
;
📌 INITCAP
첫 글자를 대문자로 변경 (나머지는 소문자)
EX) SELECT INITCAP('good morning')
FROM dual
;
📌 대표적인 문자 함수
함수 설명 ROUND 소수점의 자릿수를 지정하여 반올림한다 TRUNC 해당 소수점 자리에서 잘라낼 때 사용한다 MOD(M,N) M을 N으로 나눈 나머지를 나타낸다 ABS 값을 절대값으로 변환할 때 사용한다 SIGN 숫자가 양수면 1, 음수면 -1, 0이면 0을 나타낸다 SQRT 제곱근을 나타낸다 COS 지정한 각도의 COS 값을 나타낸다 SIN 지정한 각도의 SIN 값을 나타낸다 PI 지정한 각도의 파이값을 나타낸다 TAN 지정한 각도의 TAN 값을 나타낸다
📌 ABS : 절대값
EX) SELECT ABS(-234)
FROM dual
;
📌 ROUND : 반올림
EX) SELECT ROUND(0.123), ROUND(0.543)
FROM DUAL
;
📌 TRUNC : 절사
EX) SELECT TRUNC(1234.56789)
FROM DUAL
;
**소수점 n번째 자리까지 표기
EX) SELECT TRUNC(1234.56789, 2)
FROM DUAL
;
**TRUNC와 같은 결과값
EX) SELECT TRUNC(1234.56789, 0)
FROM DUAL
;
EX) SELECT TRUNC(1234.56789, -1)
FROM DUAL
;
📌 대표적인 날짜 함수
함수 설명 ADD_MONTHS 지정한 날짜에 개월 수를 더한 값을 출력 SYSDATE 현재시스템의 날짜 데이터를 반환 LAST_DAY 해당 월의 마지막 날짜를 반환 MONTH_BETWEEN 지정된 월 간의 월 수를 반환. ** MONTH_BETWEEN(date_1, date_2)는 date_1과 date_2 사이의 기간을 월로 나타내고, 한달 이내거나 정확한 달로맞아 떨어지지 않을 경우 소수점으로 표시
📌 SYSDATE
EX) SELECT SYSDATE
FROM dual;
📌 ADD_MONTHS
** 7개월을 더할 경우
EX) SELECT ADD_MONTHS(SYSDATE, 7)
FROM dual
;
📌 LAST_DATE : 현재 달의 마지막 날짜
EX) SELECT LAST_DAY(SYSDATE)
FROM dual
;
📌 날짜 계산
EX) SELECT SYSDATE + (INTERVAL '1' YEAR)
, SYSDATE + (INTERVAL '1' MONTH)
, SYSDATE + (INTERVAL '1' DAY)
, SYSDATE + (INTERVAL '1' HOUR)
, SYSDATE + (INTERVAL '1' MINUTE)
, SYSDATE + (INTERVAL '1' SECOND)
FROM dual
;
📌 TO_CHAR() : 문자열 반환
EX) SELECT TO_CHAR(SYSDATE, 'yyyy/mm/dd')
, TO_CHAR(SYSDATE, 'yyyymmdd')
, TO_CHAR(SYSDATE, 'yyyy-mm-dd')
, TO_CHAR(SYSDATE, 'yyyy-mm-dd HH24:MI:SS')
FROM dual
;
📌 TO_DATE() : 날짜형으로 반환
EX) SELECT TO_DATE('2023-07-19', 'yyyy/mm/dd')
FROM dual
;