1. NULL값 확인 함수가 다르다.
ORACLE에서는 NVL함수를 사용하지만 MYSQL에서는 IFNULL을 사용한다.
ex) (ORACLE) SELECT NVL(USER_ID,'') FROM KGON
ex) (MYSQL) SELECT IFNULL(USER_ID,'') FROM KGON
2. 현재 날짜 시간 확인하는 방법이 다르다.
ORACLE에서는 SYSDATE를 사용하지만 MYSQL에서는 NOW()함수를 사용한다.
ex) (ORACLE) SELECT SYSDATE FROM DUAL;
ex) (MYSQL) SELECT NOW() FROM DUAL;
3. 날짜 포멧 변환 방법이 다르다.
ORACLE에서는 날짜를 STRING으로 변경시 TO_CHAR()함수를 사용하지만
MYSQL에서는 DATE_FORMAT()함수를 사용한다.
ex) (ORACLE) SELECT TO_CHAR(REG_DATE, 'YYYYMMDD HH24MISS') FROM DUAL;
ex) (MYSQL) SELECT DATE_FORMAT(REG_DATE, '%Y%m%d%H%i%s') FROM DUAL;
4. 요일 변환의 숫자 범위가 다르다.
ORACLE은 일,월,화,수,목,금,토를 1,2,3,4,5,6,7로 인식한다.
MYSQL은 일,월,화,수,목,금,토를 0,1,2,3,4,5,6로 인식한다.
5. 문자와 문자 합치는 방법이 다르다.
ORACLE에서는 문자와 문자를 합칠 때 '||'을 사용한다.
MYSQL에서는 문자와 문자를 합칠 때 CONCAT()함수를 사용한다.
ex) (ORACLE) SELECT USER_ID FROM KGON WHERE USER_ID LIKE '%' || 'kgon' || '%'
ex) (MYSQL) SELECT USER_ID FROM KGON WHERE USER_ID LIKE CONCAT('%','kgon','%')
6. 형 변환 방법이 다르다.
ORACLE에서는 TO_CHAR, TO_NUMBER을 사용하여 형을 변환하지만 MYSQL에서는 CAST를 사용하여 형을 변환한다.
ex) (ORACLE) SELECT TO_CHAR(632) FROM DUAL
ex) (MYSQL) SELECT CAST(1234 AS CHAR) FROM DUAL
7. 페이징 처리가 다르다.
ORACLE은 ROWNUM을 사용하여 WHERE에서 BETWEEN으로 1~10번째 자료를 나타낸다.
MYSQL은 LIMIT를 사용하여 1~10번째 자료를 나타낸다.
ex) (ORACLE) SELECT * FROM ( SELECT ROWNUM , A.* FROM (SELECT * FROM KGON) A )WHERE ROWNUM BETWEEN 0 AND 10
ex) (MYSQL) SELECT * FROM KGON LIMIT 0, 10
8. 시퀀스 사용시 다음 번호를 불러오는 방법이 다르다.
ORACLE은 시퀀스명.NEXTVAL을 사용하지만 MYSQL은 시퀀스명.CURRVAL를 사용한다.
'TIL > Oracle Database' 카테고리의 다른 글
Oracle 정리 (0) | 2021.07.17 |
---|