본문 바로가기
NULL 함수 NULL(널) 함수는 NULL을 사용 가능한 값으로 변환하는 함수이다. NULL 함수에서 변환 대상의 데이터 타입과 반환되는 데이터 타입은 반드시 일치해야만 한다. 함수 기능 NVL(컬럼명, 반환값) 데이터 값이 널일 경우 반환값을 반환한다. NVL2(컬럼명, 값1, 값2) 데이터 값이 널이 아니면 ‘값1’을, 널이면 ‘값2’를 반환한다. ex. 고객 테이블에서 고객전화번호가 누락되어 있으면 0으로 바꾸어 출력하여라. SELECT 고객ID, NVL(고객전화번호, 0) 고객전화번호 FROM 고객; ex. 상품공급 테이블에서 공급사ID에 NULL 값으로 저장되어 있으면 ‘공급사누락’으로, 그렇지 않다면 ‘공급사있음’으로 표시하여라. SELECT 상품공급코드, 상품코드, NVL2(공급사ID, '공급사있음', ..
데이터 변환 함수 데이터의 형식을 변환하는 함수를 이용하여 숫자나 날짜 데이터를 문자 데이터로 변환하거나 거꾸로 문자 데이터를 날짜 데이터나 숫자 데이터로 변환할 수 있다. 조인(뒤에서 다룸)을 하거나 컬럼이 많은 테이블을 다루다 보면 연산할 때 데이터 타입이 같아야 하는데 다른 것을 인지하지 못하고 있다가 연산을 해서 오류를 만나 놀라게 될 경우가 있다. 이때 데이터 타입을 확인하고 데이터 변환 함수로 데이터 타입을 같게 만들어주면 오류를 해결할 수 있다. 함수 기능 TO_CHAR(날짜/숫자, 형식) 숫자/날짜 데이터를 문자 데이터로 변환한다. TO_DATE(문자, 형식) 문자 데이터를 날짜 데이터로 변환한다. TO_NUMBER 문자 데이터를 숫자 데이터로 변환한다. 문자형 변환 함수 TO_CHAR 함수는 숫자나 날짜를..
날짜 함수 오라클에서 날짜 데이터는 숫자처럼 계산된다. 출력 형식은 시스템의 환경에 따라 달라질 수 있지만, 오라클의 기본 형식은 ‘YY/MM/DD’이며, 내부적으로는 날짜를 ‘연/월/일/시:분:초(YYYY/MM/DD:HH24:MI:SS)’로 저장하게 된다. 오라클에서 사용하는 날짜와 시간 출력 형식은 다음과 같다. 날짜 형식 의미 YYYY 또는 YY 년도를 표시한다. MM 월을 숫자로 표시한다. MON 월을 알파벳으로 표시한다. DAY 또는 DY 요일을 표시한다. DD 일을 숫자로 표시한다. 시간 형식 의미 AM(A.M) 또는 PM(P.M) 오전, 오후 시각을 표시한다. HH 또는 HH12 시간(1~12)을 표시한다. HH24 시간을 24시간으로 표시한다. MI 분을 표시한다. SS 초를 표시한다. 현재 날짜 출..
숫자 함수 함수 기능 ROUND 지정한 자릿수에서 반올림하여 실수로 반환한다. TRUNC 지정한 자릿수에서 버림하여 실수로 반환한다. MOD 나누기 연산을 한 후에 나머지를 반환한다. CEIL 소수점 자릿수를 올림하여 정수값을 반환한다. FLOOR 소수점 자릿수를 버림하여 정수값을 반환한다. 실수형 처리 함수 • ROUND(m, n) *m=컬럼명or숫자 자체 • TRUNC(m, n) *n=반올림or버림할 자릿수 ex. 3.18을 소수 첫째 자리까지 반올림, 23.97을 101 자리에서 반올림, 97.23의 소수점을 반올림 처리하여라. SELECT ROUND(3.18, 1), ROUND(23.97, -1), ROUND(97.23) FROM dual; 정수형 처리 함수 CEIL 함수와 FLOOR 함수는 정수 값을 반환..
문자 함수 대소문자 변환 함수 테이블에 저장된 데이터에는 대소문자가 섞여 있을 가능성이 높다. 오라클에서는 SELECT, WHERE 등 예약어(키워드)의 대소문자를 구별하지 않지만, 이를 제외한 모든 경우에는 대소문자가 구별되므로 대소문자가 섞여 있는 문자열을 검색하기 위해 문자 데이터를 모두 대문자나 소문자로 바꿔주는 함수를 사용하는 것이 바람직하다. 주요 대소문자 변환 함수는 아래와 같다. 함수 기능 LOWER(컬럼명|표현식) 문자열을 소문자로 변환한다. UPPER(컬럼명|표현식) 문자열을 대문자로 변환한다. INITCAP(컬럼명|표현식) 문자열의 첫 문자만 대문자로 변환하고, 나머지는 소문자로 변환한다. ex. 오라클 내부에서 사용하고 있는 dual이라는 테이블에서 Oracle sql이라는 컬럼명을 소문자, ..
SQL 기본 2 SELECT 문: 데이터 조회 테이블의 전체 데이터 검색 SELECT * FROM 테이블명; 테이블의 특정 데이터 검색 SELECT 컬럼명[, 컬럼명, …, 컬럼명] FROM 테이블명; 산술 연산자를 이용한 데이터 검색 순위 연산자 혹은 조건 설명 1 +, - 양수, 음수 2 *, / 곱하기, 나누기 3 +, - 더하기, 빼기 4 =, !=, , = 비교 5 IS [NOT] NULL, LIKE, [NOT] BETWEEN AND, [NOT] IN 비교 6 NOT 부정 7 AND 논리곱 8 OR 논리합 ex. 고객에게 총구매가격의 0.1%를 적립금으로 지급한다고 했을 때, 구매 테이블에서 구매코드, 고객ID, 총구매가격 그리고 적립금(총구매가격*0.001)을 출력하여라. SELECT 구매코드, 고객ID, 총..