oracle에서 사용 했던 방식을 mysql로 적용 할려 하니 비슷하면서도 다른 부분이 많아 정리 하고자 한다.
1.문자열 합치기
Oracle : '%'||A||'%'
Mysql : CONCAT('%', A , '%')
2. null check
Oracle : SELECT NVL('컬럼명', '') FROM DUAL;
MySql : SELECT IFNULL('컬럼명', '') FROM DUAL;
3.현재 날짜시간
Oracle : SYSDATE
Mysql : NOW()
4.날짜 포맷
Oracle : TO_CHAR(sysdate,'MMDDYYYYHH24MISS')
Mysql : DATE_FORMAT(now(),'%Y%m%d%H%i%s')
-> 여기서 대문자Y는 4자리 년도, 소문자 y는 2자리 년도 20150713142107
DATE_FORMAT(now(),'%Y%m%d') -> 20150713
5.날짜 포멧 : 요일
Oracle : 요일이 1~7로 인식함 -> TO_CHAR(SYSDATE - 1, 'D')
Mysql : 요일이 0~6으로 인식 -> DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 1 DAY), '%w')
* 참고로 자바스크립트가 0~6으로 인식하기에 Oracle 쿼리에서 -1을 해서 맞추는 경우가 많음
6. 형변환
Oracle : To_char, To_number 등
Mysql : CAST
SELECT TO_CHAR(1234) FROM DUAL
-> SELECT CAST(1234 AS CHAR) FROM DUAL
7. MYSQL은 대소문자 구분함
8. ROWNUM
Oracle : where 절에 rownum > 5 and rownum =< 10
Mysql : where절 없이 limit 5,10
9. Sequence(시퀀스)는 둘 다 사용자함수를 만들어서 아래와 같이 사용
Oracle : 시퀀스명.nextval
Mysql : 시퀀스명.currval
10. 문자열 자르기
Oracle: SUBSTR(컬럼명, 1, 10)
Mysql: SUBSTRING(컬럼명, 1,10)