NULL 대체
[오라클]
1
NVL(열명, '대체값')
[MYSQL]
1
IFNULL(열명, '대체값')
SELECT 결과 갯수 제한(페이징처리)
[오라클]
1
ROWNUM <= 숫자
[MYSQL]
1
LIMIT 시작위치, 가져올 데이터 건수
가상테이블 DUAL
[오라클]
1
SELECT 1 FROM DUAL;
[MYSQL]
1
SELECT 1;
현재날짜
[오라클]
1
SELECT SYSDATE FROM DUAL;
[MYSQL]
1
SELECT NOW();
조건식 (IF)
[오라클]
1
2
-- 칼럼이 값과 일치하면 TRUE, 일치하지 않으면 FALSE
SELECT DECODE(칼럼, 값, TRUE일때 출력할 값, FALSE일때 출력할 값) FROM TABLE;
[MYSQL]
1
SELECT IFNULL(조건식, TRUE일때 값, FALSE일때 값) FROM TABLE;
날짜 형식
[오라클]
1
SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD') FROM DUAL;
[MYSQL]
1
SELECT DATE_FORMAT(NOW(), '%Y-%m-%d');
시퀀스
[오라클]
1
2
3
4
5
6
7
8
9
10
11
12
CREATE SEQUENCE [시퀀스명]
INCREMENT BY [증감숫자]
START WITH [시작숫자]
NOMINVALUE / MINVALUE [최소값]
NOMINVALUE / MINVALUE [최소값]
CYCLE / NOCYCLE
CACHE / NOCACHE
INSERT TABLE
(SEQ_NBR)
VALUES
(시퀀스명.NEXTVAL)
;
[MYSQL]
1
2
3
-- INSERT 시 자동으로 값이 생성되어 들어감.
CREATE TABLE
( SEQ_NBR INT NOT NULL AUTO_INCREMENT PRIMARY KEY);
문자열 합치기
[오라클]
1
2
SELECT "A" || "B" FROM DUAL;
SELECT CONCAT("A", "B") FROM DUAL;
[MYSQL]
1
SELECT CONCAT("A", "B") FROM DUAL;
문자열 자르기
[오라클]
1
SELECT SUBSTR( 문자열/칼럼, 시작위치, 잘라낼 문자열의 길이) FROM DUAL;
[MYSQL]
1
SELECT SUBSTRING(문자열/칼럼, 시작위치, 잘라낼 문자열의 길이);
출처 양바른, 업무에 바로 쓰는 SQL 튜닝, 한빛미디어