자료형(Data Type) : 데이터를 저장하는 형식
SELECT 직원ID , 연봉 , 연봉 + 1000
FROM 직원 ;
-> 함수 이름을 호출해서 바로 사용 가능하게 내부에서 설계해둔 함수
문자형 함수 : LOWER , UPPER , SUBSTR , TRIM , REPLACE
숫자형 함수 : MOD , ROUND , CEIL , FLOOR , TRUNC , ABS
날짜형 함수 : SYSDATE , LAST_DAY , ADD_MONTHS

LOWER(str) : str의 문자 데이터를 대문자에서 소문자로 대체
UPPER(str) : str의 문자 데이터를 소문자에서 대문자로 대체
SUBSTR(str , x, y ) : str의 문자 데이터를 x자리부터 y개만큼 절단
TRIM(str) : str의 문자 데이터에서 양 끝 공백 제거
REPLACE(str, ‘x’, ‘y’) : str의 문자 데이터에서 x라는 문자를 y로 대체
<실습 문제>
SELECT 직원ID, 주민등록번호, SUBSTR(주민등록번호, 1,6) AS 생년월일
FROM 직원;
SELECT 직원ID, 구분코드, 연락처, REPLACE(연락처, '-','') AS 연락처번호만
FROM 직원연락처;
ROUND와 비슷한 숫자형 함수들!!!
SELECT 연봉, MOD(연봉, 1000)
FROM 직원;
<실습 문제>
SELECT ROUND(1.452, 2) , ROUND(1.452, 1)
FROM DUAL;
SELECT ROUND(3.1415, 3), CEIL(3.1415), FLOOR(3.1415), TRUNC(3.1415,3), ABS(-3.1415)
FROM DUAL;

SELECT SYSDATE
FROM DUAL ;
SELECT LAST_DAY(SYSDATE)
FROM DUAL ;
SELECT 직원ID , 입사일시 ,
ADD_MONTHS(입사일시, 60),
ADD_MONTHS(입사일시, -60)
FROM 직원 ;
자료형(Data Type)이 일치하지 않는 값끼리의 연산
→ 연산하기 전에 내부적으로 형변환 발생
SELECT '100' + 1000
FROM DUAL;
SELECT TO_NUMBER ('100’) + 1000
FROM DUAL;
형변환 우선순위 : 날짜형 > 숫자형 > 문자형