[DEPT이라는 테이블이 있으며 컬럼명에는 USER_ID, REG_DATE, UDP_DATE가 있습니다.]
1. NULL값확인함수가 다릅니다.
즉, 컬럼값에 NULL이면 다른값으로 표시해주는 함수사용법이 다릅니다.
ORACLE에서는 NVL함수를 사용하지만 MYSQL에서는 IFNULL을 사용합니다.
ex) (ORACLE) SELECT NVL(USER_ID,'') FROM DEPT
ex) (MYSQL ) SELECT IFNULL(USER_ID,'') FROM DEPT
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;
[형식에 쓰는 영문자는 대소문자에 따라 다른값이 나올 수 있습니다.]
[%Y는 4자리년도(2017) , %y는 2자리년도(17)]
4. 요일변환의 숫자범위가 다릅니다.
ORACLE은 일,월,화,수,목,금,토를 1,2,3,4,5,6,7로 인식합니다.
MYSQL은 일,월,화,수,목,금,토를 0,1,2,3,4,5,6으로 인식합니다.
그렇기 때문에 요일 계산하는 경우 조심해야합니다.
오늘이 수요일인경우 ORACLE에서는 4가 반환되고 MYSQL에서는 3이 반환되기 떄문에 요일변환 사용하는 부분을 잘 확인해야합니다.
[보통 JAVASCRIPT에서 일,월,화,수,목,금,토를 0,1,2,3,4,5,6으로 쓰기 때문에 ORACLE인경우 결과값을 -1해서 반환하는 경우가 많습니다.]
ex) (ORACLE) SELECT TO_CHAR(SYSDATE, 'D') FROM DUAL; [결과값: 오늘이 수요일인경우 4를 반환]
ex) (MYSQL ) SELECT DATE_FORMAT(NOW(), '%w') FROM DUAL; [결과값: 오늘이 수요일인경우 3을 반환]
5. 문자와 문자 합치는 방법이 다릅니다.
ORACLE에서는 문자와 문자를 합칠때 '||'을 사용합니다.
MYSQL에서는 문자와 문자를 합칠때 CONCAT()함수를 사용합니다.
ex) (ORACLE) SELECT USER_ID FROM DEPT WHERE USER_ID LIKE '%' || 'DEPT' || '%'
ex) (MYSQL ) SELECT USER_ID FROM DEPT WHERE USER_ID LIKE CONCAT('%','DEPT','%')
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 DEPT) A )WHERE ROWNUM BETWEEN 0 AND 10
ex) (MYSQL ) SELECT * FROM DEPT LIMIT 0, 10
8. 시퀀스사용시 다음번호 불러오는 방법이 다릅니다.
ORACLE은 시퀀스명.NEXTVAL을 사용하지만
MYSQL은 시퀀스명.CURRVAL를 사용합니다.
9.데이터베이스 생성 방법
ORACLE은 기본적으로 사용자(오너)추가=데이터베이스 추가이다. (엄밀히 따지면 오너와 스키마를 같다고 보고, 데이터베이스는 따로 있다고함)
MYSQL은 데이터베이스를 생성할 수 있다.
'DataBase' 카테고리의 다른 글
JPA이란? (0) | 2020.06.19 |
---|---|
MySQL에 날짜입력하기 (0) | 2020.06.05 |
데이터베이스 프로그래밍 (1) | 2020.03.06 |
SQL 고급 (0) | 2020.03.03 |
SQL기초 (0) | 2020.02.26 |
댓글