ORACLE vs MySQL SQL 구문 차이점 정리
NULL 대체
[ORACLE]
문법
NVL(열명, '대쳇값')
예제
SELECT NVL(column, 'N/A') col FROM tab;
[MySQL]
문법
IFNULL(열명, '대쳇값')
예제
SELECT IFNULL(column, 'N/A') col FROM tab;
페이징 처리
[ORACLE]
문법
ROWNUM <= 숫자
예제
SELECT col FROM tab WHERE ROWNUM <=5;
[MySQL]
문법
LIMIT 숫자
예제
SELECT col FROM tab WHERE LIMIT 5;
현재 날짜
[ORACLE]
문법
SYSDATE
예제
SELECT SYSDATE AS DATE FROM daul;
[MySQL]
문법
NOW()
예제
SELECT NOW() AS DATE;
조건문
[ORACLE]
문법
DECODE(열명, '값', '참값', '거짓값')
예제
SELECT DECODE(col, 'A', 'apple', 'banana') AS col FROM tab;
[MySQL]
문법
IF(조건식, '참값', '거짓값')
예제
SELECT IF(col = 'A', 'apple', 'banana') AS col FROM tab;
날짜 형식
[ORACLE]
문법
TO_CHAR(날짜열, '형식')
예제
SELECT TO_CHAR(SYSDATE, 'YYYYMMDD HH24MISS') AS date FROM dual;
[MySQL]
문법
DATE_FORMAT(날짜열, '형식')
예제
SELECT DATE_FORMAT(NOW(), '%Y%m%d %H%i%s') AS date;
시퀀스
[ORACLE]
문법
SELECT 시퀀스명.NEXTVAL FROM DUAL;
예제
SELECT SEQ_SAMPLE.NEXTVAL FROM dual;
[MySQL]
문법
SELECT NEXTVAL(시퀀스명);
예제
SELECT NEXTVAL(SEQ_SAMPLE);
문자 결합 (CONCAT)
[ORACLE]
문법
열값 또는 문자열 || 열값 또는 문자열
CONCAT(열값 또는 문자열, 열값 또는 문자열)
예제
SELECT 'A'||'B' FROM DUAL;
[MySQL]
문법
CONCAT(열값 또는 문자열, 열값 또는 문자열)
예제
SELECT CONCAT('A', 'B');
문자 추출 (Substring)
[ORACLE]
문법
SUBSTR(열값 또는 문자열, 시작 위치, 추출하려는 문자 개수)
예제
SELECT SUBSTR('ABCDEF', 2, 3) AS SUBSTRING FROM dual;
결과
BCD
[MySQL]
문법
SUBSTRING(열값 또는 문자열, 시작 위치, 추출하려는 문자 개수)
예제
SELECT SUBSTRING('ABCDEF', 2, 3) AS SUBSTRING FROM dual;
결과
BCD