웹개발/DB
Oracle 과 MySql의 차이점
lite
2023. 6. 29. 10:00
| 오라클 | MySQL | |
| 공백 치환 함수 | SELECT NVL('컬럼명','') FROM DUAL; | SELECT IFNULL('컬럼명','') FROM DUAL; |
| 현재 날짜 시간 | SYSDATE | NOW() |
| 날짜 포맷 | TO_CHAR(sysdate,'MMDDYYYYHH24MISS') | DATE_FORMAT(now(),'%Y%m%d%H%i%s') | Y는 4자리 년도 y는 2자리 년도 |
| 날짜 포맷 : 요일 | 요일 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 | SELECT CAST(1234 AS CHAR) FROM DUAL |
| 대소문자 | 구분 없음 | 기본적으로 구분하나, 설정으로 변경 가 |
| ROWNUM | WHERE ROWNUM < 5 || ROWNUM <= 5 더 자세한 설명은 |
WHERE 절 없이 LIMIT 5,10 |
| 문자열 자르기 | SUBSTR(문자열, 1,10) | SUBSTRING(문자열,1,10) / LEFT(문자열,3) / RIGHT(문자열,3) |
| 문자열 합치기 | 문자열 || '-' | CONCAT(문자열,'-') |
| 예약어가 컬럼명 | 컬럼명을 따옴표(")로 감싸기 SELECT "column" FROM TAB | 컬럼명을 TAB위에 있는 (`)로 감싸기 |
| 저장프로시저 있는지 여부 파악 후 CREATE | CREATE OR REPLACE PROCEDURE 프로시저명 | DROP PROCEDURE IF EXISTS 프로시저명; 을 한 뒤 CREATE PROCEDURE 프로시저명 |