본문 바로가기
DB/MySQL

[MySQL] ORACLE과 기본 문법 차이

by madinthe90 2022. 2. 3.
반응형

계속 Oracle을 사용해 왔지만 새로운 프로젝트는 MySQL을 사용한다고한다.

기본문법에서 차이나는 부분을 정리해두려고 한다.

 

* 공백치환 함수

ORACLE: SELECT NVL('컬럼명', '') FROM DUAL;
MySQL : SELECT IFNULL('컬럼명', '') FROM DUAL;

 

* 현재 날짜, 시간

ORACLE: SYSDATE
MySQL : NOW()

 

* 날짜 포맷

ORACLE: TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS')
MySQL : DATE_FORMAT(NOW(),'%Y%m%d%H%i%s') //년도에서 %Y는 4자리년도 (2021), %y는 2자리 년도 (21)

 

* 요일

ORACLE: 1(일)~7(토)
MySQL : 0(일)~6(토)

 

* 문자열 합치기

ORACLE: LIKE '%' || '문자' || '%'
MySQL : LIKE CONCAT('%','문자','%')

 

* 형변환

ORACLE: TO_CHAR, TO_NUMBER 사용 => SELECT TO_CHAR(0305) FROM DUAL
MySQL : CAST 사용 => SELECT CAST(0305 AS CHAR) FROM DUAL

 

* 페이징 처리

ORACLE: WHERE 절에 ROWNUM 사용
=> SELECT * FROM ( 
   SELECT ROWNUM , A.* FROM (
  SELECT * FROM 테이블) A 
) WHERE ROWNUM BETWEEN 0 AND 10  // BETWEEN or >= < ..

MySQL : WHERE 없이 LIMIT 사용
=> SELECT * FROM 테이블 LIMIT 0, 10

 

* 대소문자 구분

ORACLE: 대소문자 구분 없음
MySQL : 대소문자 구분 있으나, 설정으로 변경 가능

 

* 시퀀스 사용

ORACLE: 시퀀스명.NEXTVAL
MySQL : 시퀀스명.CURRVAL
반응형

댓글