연결연산자
||을 사용하여 여러 칼럼을 하나의 컬럼인 것처럼 연결
비교연산자
비교대상컬럼명 like '문자패턴'
-문자패턴
'A%' (A로 시작하는 값)
'%A' (A로 끝나는 값)
'%A%' (A가 포함되는 값)
- 문자수
'_' (한글자)
'__' (두글자)
- ESCAPE '#';
_(글자수)와 문자_를 구분해주기위해 사용 # 대신에 어떠한 문자도 사용가능
-IS NULL과 IS NOT NULL
IS NULL : 컬럼값이 NULL인 경우
IS NOT NULL : 컬럼값이 NULL이 아닌경우
-IN
비교하려는 값과 목록에 일치하는 값이 있으면 TRUE를 반환하는 연산자
비교대상컬럼명 IN(XXX,XXX,.......);
연산자 우선 순위
1. 산술연산자
2. 연결연산자
3. 비교연산자
4. IS NULL / IS NOT NULL, LIKE , IN , NOT IN
5. BETWEEN AND / NOT BETWEEN AND
6. NOT
7. AND
8. OR
★★★ 정렬 ★★★★
ORDER BY 절
SELECT한 결과를 정렬할 때 작성하는 구문
SELECT 구문 제일 마지막에 작성
SELECT 실행 순서 중 가장 마지막
순서
1. FROM 2. WHERE 3. SELECT 4. ORDER BY
[표현식]
SELECT 컬럼명
FROM 테이블명
[WHERE 조건식]
[ORDER BY 컬럼명|별칭|컬럼순서 정렬방법 [NULLS FIRST|LAST]
함수
컬럼의 값을 읽어서 계산환 결과를 리턴함
단일 행 함수(SINGLE ROW)
- 컬럼에 기록된 N개의 값을 읽어서 N개의 결과를 리턴
그룹 함수(GROUP)
- 컬럼에 기록된 N개의 값을 읽어서 1개의 결과를 리턴
1. 문자관련함수
LENGTH/LENGTHB
길이/문자바이트
INSTR
INSTR('문자열'|컬럼명, '문자' , 찾을위치의 시작값, [순번])
TRIM
주어진 컬럼이나 문자열의 앞/뒤 양쪽에 있는 지정한 문자가제거
문자를 지정하지 않는 경우 양쪽 공백제거
BOTH(양쪽) / LEADING(앞) / TRAILING(뒤)
★★ SUBSTR
컬럼이나 문자열에서 지정한 위치부터 지정한 개수의 문자열을
잘라내어 반환(자바에 String,subString()과 유사함)
SUBSTR(STRING, POSITION, [LENGTH])
- STRING : 문자 타입 컬럼 또는 문자열
- POSITION : 문자열을 잘라낼 위치
-- 양수면 시작방향, 음수면 끝방향 기준
-- LENGTH : 반환할 문자 개수(생략시 끝까지)
-- 음수 작성시 NULL 리턴
REPLACE
REPLACE(STRING, 변환전문자(열), 변환 후 문자(열))
컬럼의 문자 또는 문자열에서 특정 문자(열)을 지정한 문자(열)로 변환 후 반환
2. 숫자처리함수
ABS: 절대값
MOD: 나머지
ROUNT:반올림
TRUNC:버림
FLOOR:버림
3. 날짜 처리 함수
★SYSDATE
-현재시간
★EXTRACT ( YEAR|MONTH|DAY FROM ~~~~)
-년, 월, 일 정보를 추출하여 반환
★4. 형변환 처리 함수
TO_CHAR
TO_CHAR(DATE, [,FORMAT])
TO_DATE
문자 또는 숫자형 데이터를 날짜형으로 변환
TO_NUMBER('1,000', '9,999')
5. NULL 처리함수
★★ NVL(컬럼명, 변경값1)
★NVL2(컬럼명, 변경값1, 변경값2)
- 해당 컬럼에 값이 있으면 변경값1 NULL이면 변경값2
NULLIF(비교대상1, 비교대상2)
- 두 개의 값이 동일하면 NULL, 다르면 비교대상1 반환
'study > Oracle' 카테고리의 다른 글
5_oracle_DDL(CREATE) (0) | 2019.11.21 |
---|---|
5_oracle_서브쿼리 (0) | 2019.11.20 |
4_oracle_JOIN (0) | 2019.11.19 |
3_oracle_함수2 (0) | 2019.11.16 |
1_oracle_기본개념 (0) | 2019.11.14 |