Chapter 5: Performing Calculations and using Functions
참조 : The Programmer's Guide to SQL
- 사칙연산/비트연산/괄호 사용법 모두 자바와 동일
- SELECT 절의 조건은 컬럼 이거나 어떤 값들이든지 될 수 있다.
- WHERE 절의 조건은 Boolean 형태여야 한다.
- 숫자 다루기 (오라클)
- 내림 FLOOR()
- 올린 CEIL()
- 반올림 ROUND(컬럼, 자릿수)
- 문자 다루기 (오라클)
- SUBSTR(컬럼, x, y) : x는 시작 인덱스, y는 길이. y를 빼면, x부터 끝까지 잘라옴.
- INSTR(원문, 검색어) : 원문에서 검색어가 시작하는 인덱스를 반환해 줌.
- LENGTH(컬럼)
- UPPER(컬럼)
- LOWER(컬럼)
- 날짜/시간 다루기(오라클)
- DATE TIME TIMESTAMP 를 시간이나 날짜를 나타내는 문자열 앞에 붙여야 한다.
- DATE '2003-05-02'
- CURRENT_DATE 으로 현재 날짜/시간을 가져올 수 있다.
- 데이터 타입 변환하기(오라클)
- 문자열로 변환하기
- TO_CHAR(DATE '2003-05-23', 'DD MONTH YYYY')
- 숫자로 변환하기
- TO_NUMBER('$5,102.25', '$9,999.99') -- Returns 5102.25
- 일반적인 형변환
- CAST('3.521' AS DECIMAL(3,2)) -- Returns 3.52
- 사용자 정의 함수(UDF) 만들기
- CREATE [OR REPLACE] FUNCTION function_name
(parameter_list)
RETURN data_type
IS
variable_list
BEGIN
[<SQL statements>]
RETURN expression;
END;
/ - Baik Keesun 이라는 값을 Keesun, Baik로 변환해주는 함수
- CREATE OR REPLACE FUNCTION FormatName(FullName IN varchar)
RETURN varchar
IS
FormattedName varchar(50);
BEGIN
FormattedName :=
SUBSTR(FullName, INSTR(FullName, ' ') + 1) || ', ' ||
SUBSTR(FullName, 1, INSTR(FullName, ' ') - 1);
RETURN(FormattedName);
END;
/