공부/데이터베이스

[데이터베이스] ORACLE vs MySQL

ghhong 2021. 10. 21. 14:25

1.    Oracle vs MySQL

ㅇ 공백치환 함수 : 컬럼값이 null이면 다른 값으로 표시하는 함수

Oracle : select NVL( 컬럼명 , ‘ ‘ ) from mydb;

MySQL : select IFNULL( 컬럼명 , ‘ ‘ ) from mydb;

 

ㅇ 현재 날짜 함수 :

Oracle : select SYSDATE from mydb;

MySQL : select NOW() from mydb;

 

ㅇ 날짜 포맷 변환 방법 : 날짜를 string 형식으로 변환할 때 to_char() vs date_format()

Oracle : select to_char(reg_date, ‘YYYY-MM-DD HH:MI:SS’) from mydb;

MySQL : select date_format(reg_date, ‘%Y%m%d%h’) from mydb;

 

ㅇ 요일 변환 숫자 범위 : 1~7 vs 0~6

Oracle : ~-> 1~7

MySQL : ~-> 0~6

 

ㅇ 문자를 연결: || vs concat

Oracle : select user_id from dept where user_id like ‘%’ || ‘dept’ || ‘%’;

MySQL : select user_id from dept from dept where user_id like concat(‘%’,’dept’,’%’);

 

ㅇ 형변환 방법

Oracle : select TO_CHAR(535) from mydb;

           select TO_NUMBER(“1234”) from mydb;

MySQL : select cast(1234 as char) from mydb;

 

ㅇ 페이징 처리 방법

Oracle : select * from mydb where rownum > 5 and rownum =< 10;

MySQL : select * from mydb limit 5,10;

 

ㅇ 문자열 자르기

Oracle : substr(문자열, 1, 10);

MySQL : substring(문자열, 1, 10);

left(문자열, 3);

right(문자열, 3);

 

ㅇ 예약어 사용

Oracle : double quoto로 감싼다 (ex. Select “column” from mydb;)

MySQL : backtick으로 감싼다 (ex. Select `column` from mydb;)

 

ㅇ 저장된 프로시저가 있는지 여부 파악하여 생성하기

Oracle : create or replace procedure 프로시저명

MySQL : drop procedure if exists 프로시저명;

           create 프로시저명 ~