이 포스트를 통해 같은 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 프로시저명
|
'개념' 카테고리의 다른 글
보일러플레이트(Boiler Plate)란? (0) | 2022.06.17 |
---|---|
RESTFUL(restful)(RESTful) API가 무엇일까? (0) | 2022.06.17 |
AndroidManifest.xml(안드로이드매니페스트)이란? (0) | 2022.06.17 |
Proguard(프로가드)란? (0) | 2022.06.17 |
Gradle(그래들)이란 무엇일까? (0) | 2022.06.17 |