일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 날짜형을 문자형으로
- Meta Table
- JSON 분할
- org.json
- JSON 분해
- jar 소스보기
- 스프링 배치 메타 테이블
- JSONArray 분할
- 성능개선
- git stage
- nonblocking
- batchInsert
- JobExecutionAlreadyRunningException
- date_format
- str_to_date
- 폐기하기
- 스프링 웹플럭스
- ChainedTransactionManager #분산데이터베이스 #Spring Boot #MyBatis
- spring webflux
- 무시하기
- JSONObject 분할
- spring reactive programming
- 문자형을 날짜형으로
- 마리아디비
- 스프링 리액티브 프로그래밍
- 스프링 배치 공식문서
- JSON 분리
- 스테이지에 올리기
- multi update
- 마이바티스 트랜잭션
- Today
- Total
ebson
오라클DB와 마리아DB 문법 차이점 정리 본문
#1. 공백치환함수
ORACLE : SELECT NVL(A, B) FROM DUAL ;
MARIA : SELECT IFNULL(A, B) FROM DUAL;
#2. 현재날짜시간
ORACLE : SYSDATE
MARIA : NOW()
#3. 날짜포맷
ORACLE : TO_CHAR(SYSDATE, , ‘YYYYMMDDHH24MISS’)
MARIA : DATE_FORMAT(NOW(), ‘%Y%M%D%H%i%s’) → 여기서 대문자 Y는 4자리 년도, 소문자 y는 2자리 년도
#4. 날짜포맷(요일)
ORACLE : 요일을 1-7으로 인식 → TO_CHAR(SYSDATE-1, ‘D’)
MARIA : 요일을 0-6으로 인식 → DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 1 DAY), ‘%w’)
*자바스크립트에서는 0-6으로 인식
#5. LIKE절 ‘%’사용법
ORACLE : LIKE ‘% || ‘문자’ || %’ → 컬럼명 앞뒤로 ‘%’를 붙임
MARIA : LIKE CONCAT(‘문자’, ‘%’) → CONCAT 함수 사용
#6. 형변환
ORACLE : TO_CHAR, TO_NUMBER 등
MARIA : CAST
EX) SELECT TO_CHAR(1234) FROM DUAL ;
→ SELECT CAST(1234 AS CHAR) FROM DUAL ;
#7. 대소문자 구분
ORACLE : 구분없음
MARIA : 구분하나, 설정으로 변경 가능함
#8. ROWNUM
ORACLE : WHERE절에 ROWNUM > 5 AND ROWNUM =< 10
MARIA : WHERE절 없이 LIMIT 5, 10
#9. SEQUENCE는 둘 다 사용자 함수를 만들어 아래와 같이 사용
ORACLE : 시퀀스명.NEXTVAL
MARIA : 시퀀스명.CURRVAL (또는 AUTOiNCREMENT)
#10. 문자열자르기
ORACLE : SUBSTR(문자열, 1, 10)
MARIA : SUBSTRING(문자열, 1, 10), LEFT(문자열, 3), RIGHT(문자열, 3)
#11. 문자열합치기(-문자열을 연결한다고 가정)
ORACLE : 문자열(또는 컬럼) || ‘-’
MARIA : CONCAT(문자열(또는컬럼), ‘-’)
#12. 예약어가 컬럼명일 때
ORACLE : 컬럼명을 따옴표(‘’)로 감싸기
MARIA : 컬럼명을 TAB 키 위에 있는 키(``)로 감싸기
#13. 저장프로시저 있는지 여부 파악해서 CREATE하기
ORACLE : CREATE OR REPLACE PROCEDURE 프로시저명
MARIA : DROP PROCEDURE IF EXISTS 프로시저명; 을 한 뒤에 CREATE PROCEDURE 프로시저명
#14. JOIN
ORACLE : SELECT * FROM A, B WHERE A.ID = B.ID(+)
MARIA : SELECT * FROM A LEFT OUTER JOIN B ON A.ID = B.ID
#15. TO_DATE(), STR_TO_DATE()
ORACLE : TO_DATE(‘202201010101’, ‘YYYY-MM-DD HH24:MI’)
MARIA : STR_TO_DATE(‘202201010101’, ‘%Y%m%d%s’)
#16. TRUNC(), TRUNCATE()
ORACLE : SELECT TRUNC(123456.12, 1) → 123456.1
SELECT TRUNC(123456.12, -1) → 123450
SELECT TRUNC(123456.12, 3) → 123456.120
SELECT TRUNC(123456.12, -3) → 123000
MARIA : SELECT TRUNCATE(123456.12, 1); → 123456.1
SELECT TRUNCATE(123456.12, -1) → 123450
SELECT TRUNCATE(123456.12, 3) → 123456.120
SELECT TRUNCATE(123456.12, -3) → 123000
#17. WM_CONCAT(), GROUP_CONCAT() → 여러 행의 데이터들을 한 행으로 출력
ORACLE : SELECT WM_CONCAT(COL)
FROM TAB
MARIA : SELECT COL1
, GROUP_CONCAT(COL2)
FROM TAB
GROUP BY COL1
#18. DECODE, IF
ORACLE : SELECT DECODE(COL%2, 0, ‘EVEN’, 1, ‘ODD’, NULL)
MARIA : SELECT IF(COL%2=0, ‘EVEN’, ‘ODD’) FROM TAB
참고 출처
'DATABASE STUDY' 카테고리의 다른 글
오라클 SEQUENCE (0) | 2022.08.28 |
---|---|
오라클 PL/SQL옵티마이저 (0) | 2022.08.28 |
오라클 SQL - JOIN (1) | 2022.08.28 |
오라클 SQL - SUBQUERY (1) | 2022.08.28 |
마리아DB에서 오라클 PIVOT 기능 사용하기 (0) | 2022.08.28 |