오라클
:= 대입 연산자
=>
% 속성 지시자
~=
^=
.. 범위연산자
: 호스트 변수 지시자
|| 하위 연산자
SYSDATE 함수
시스템의 설정된 날짜 값을 반환한다.
TO_DATE("문자열", "날짜 포맷")
오라클에서 문자열을 날짜형 데이터로 형 변환을 하기 위해서는 TO_DATE 함수를 사용하면 된다.
SUBSTR( 데이터명, 시작 범위, 종료 범위)
EX ) SUBSTR(NAME, 1,3)
INSTR : 문자열에서 특정 철자 위치 출력
REPLACE(SAL, 0, '' ) SAL 값의 0은 로 대체해서 출력
LPAD/RPAD : 특정 철자를 N개 만큼 채우기
RPAD(SAL, 10, '') SAL 값의 자릿수를 10으로 하고 남은 자리는 로 출력
TRIM/R<RIM 문자 출력시 특정 철자 잘라내기
ADD_MONTHS : 개월 수 +- 계산
TO_CHAR : 문자형으로 데이터 유형 변환 ( 숫자, 날짜 유형을 문자형으로 변환한다)
NVL(컬럼명, 대체 데이터)
NVL(PHONE, '없음') PHONE 데이터가 NULL인 경우 '없음'으로 출력
NVL2(PHONE, '있음', '없음') PHONE 데이터가 있는 경우 '있음' 없는 경우 '없음' 출력
DECODE(컬럼명, 조건1, 결과1, 조건2, 결과2......) : IF문
COUNT 함수는 NULL 값 무시
RANK 분석 함수 - 순위
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
Non-Equi Join
SELECT E.ENAME, E.JOB, E.SAL, S.GRADE
FROM EMP E, SALGRADE S
WHERE E.SAL BETWEEN S.LOSAL AND S.HISAL;
간단하게 말하여 데이터가 없을 수도 있는 쪽 JOIN 컬럼에 (+)를 추가하여 OUTER JOIN이 가능하다.
조인에서 WHERE 테이블1.컬럼명 = 테이블2.컬럼명 대신 USING (컬럼명) 사용
-> ANSI JOIN 문법
두 테이블의 동일한 이름(컬럼명)을 갖는 컬럼은 모두 조인이 된다.
<주의 사항>
오라클에서 소수점을 절사(버림)하거나 날짜의 시간을 절사 하기 위해서는 TRUNC 함수를 사용한다
기본 사용법
WITH temp AS (
SELECT TO_DATE('2018-12-13 22:10:59', 'YYYY-MM-DD HH24:MI:SS') dt, 1234.56 nmb
FROM dual
)
SELECT dt
, TRUNC(dt) --시간 절사
, nmb
, TRUNC(nmb) --소수점 절사
FROM temp
시간 절사 방법
WITH temp AS (
SELECT TO_DATE('2018-12-13 22:10:59', 'YYYY-MM-DD HH24:MI:SS') dt, 1234.56 nmb
FROM dual
)
SELECT dt
, TRUNC(dt, 'DD') --시간 절사
, TRUNC(dt, 'HH24') --분, 초 절사
, TRUNC(dt, 'MI') --초 절사
FROM temp