이 포스트를 통해 같은 RDBMS인 Oracle(오라클)과 MySQL의 대표적인 문법 차이를 알아보자 
기능
Oracle
MySQL
공백 치환 함수
NVL('컬럼명', '')
IFNULL('컬럼명', '')
현재 날짜 및 시간
sysdate
now()
날짜 Format
to_char(sysdate, 'MMDDYYYYHH24MISS')
date_format(now(), '%Y%m%d%H%i%s')
요일 관련 날짜 Format
요일을 1 ~ 7 로 인식
to_char(sysdate -1, 'D')
요일을 0 ~ 6 로 인식
date_format(date_sub(now(), interval 1 day, '%w')
Like 절 '%' 사용
Like '%' || '문자' || '%' 이런 식으로 컬럼명 앞뒤로 '%' 사용
Like concat('문자', '%') 이런식으로 concat 사용
형 변환
to_char, to_number
cast
대소문자 구분
구분 없이 사용.
기본적으로 구분하지만 설정에서 변경 가능.
rownum
where 절에서 rownum > 5 and rownum =< 15
where 절을 허용하지 않고 limit 5, 15
문자열 자르기
substr(문자열, 1, 3)
substring(문자열, 1, 3),
left(문자열, 3)
right(문자열, 3)
시퀀스(사용자 함수를 만들어서 사용)
시퀀스명.nextval
시퀀스명.currval
문자열 병합
문자열 (또는 컬럼) || '병합할 문자'
concat(문자열 (또는 컬럼), '병합할 문자')
예약어가 컬럼명일 경우
컬럼명을 ""로 감싸기
"column"
컬럼명을 Tab 키  위에 있는 `로 감싸기
저장 프로시저의 여부를 파악하여 create
create or replace procedure 프로시저명
drop procedure if exists 프로시저명; 을 한 뒤 create procedure 프로시저명
 

+ Recent posts