TIL/Oracle Database

Oracle과 MySQL의 차이점

Art Rudy
반응형

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. 페이징 처리가 다르다.

ORACLEROWNUM을 사용하여 WHERE에서 BETWEEN으로 1~10번째 자료를 나타낸다.

MYSQLLIMIT를 사용하여 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