mariaDB(11)
-
Oracle, mariaDB 차이점 정리
오라클에서 마리아DB로 이관하면서 아래에 정리된 차이점을 정말정말 많이 봤다.. Oracle과 MySql 쿼리문 문법 비교 Oracle에 익숙한 필자는.. 이번 프로젝트에서 생전 처음으로 MariaDB를 쓰면서 MySql 문법을 익혀야 했다. 지금부터 알게된 모든 차이점들을 하나씩 하나씩 차근차근 적어나갈 생각이다. 규칙은, 기준이 Oracle이고 그 비교되는 Mysql 문법을 아래에 적는다. 1. 공백치환 함수 ( NVL -> IFNULL ) Oracle : SELECT NVL('컬럼명', '') FROM DUAL; MySql : SELECT IFNULL('컬럼명', '') FROM DUAL; 2. 현재 날짜시간 Oracle : SYSDATE Mysql : NOW() 3. 날짜포멧 Oracle : TO..
2021.09.14 -
Oracle wm_concat -> mysql group_concat
##기존에 위와같은 종류의 함수를 사용해서 쿼리값을 한줄에 다 넣는게 있었는데 마리아DB에선 다른방법을 지원하기때문에 변환을 위해 찾아보았던 부분들이다## 필요에 의해 서로 다른 결과를 한줄로 합쳐서 보여줘야 할 경우가 있다. 전체 결과값을 가져와서 java 와 같은 프로그램 언어에서 for 문을 돌며 문자열을 붙여도 되긴 하지만 Select 쿼리를 던질때 결과값으로 합쳐져 있는 문자열을 받는게 더 편하다. select * from test ; type name fruit 수박 fruit 사과 fruit 바나나 fruit 사과 select type, group_concat(name) from test group by type ; type name fruit 수박,사과,바나나,사과 group_concat을..
2021.09.14 -
Oracle, mariaDB로 마이그레이션 참고
아래사이트에서 쿼리문을 변경해주지만 정확하지는 않았다. 필요로 하는부분만 가져다가 바뀌는지 확인 후 기타 오류들은 발생할때마다 잡아야만 했다..그래도 아무것도 모를땐 아래사이트를 이용해서 조금씩 바꿔보는것도 나쁘지 않다 http://www.sqlines.com/oracle-to-mysql (좌) / http://www.sqlines.com/online (우) 왼쪽의 사이트를 들어가면, sqlLines의 메인페이지를 볼 수 있다. 데스크탑 버전과 온라인 버전이 있다고 하는데, 간편하게 온라인 버전을 사용하겠습니다. 오른쪽의 링크를 클릭하면 바로 들어갈 수 있습니다. 온라인 버전을 들어오면 왼쪽이 변환전 오른쪽이 변환후 언어입니다. 왼쪽은 Sources를 Oracle로 지정, 오른쪽 Target을 Maria..
2021.09.14 -
Mysql sysdate(),now()차이점
오라클->마리아DB로 쿼리문을 변환중에 sysdate들을 now로 변경하던중 뭐가 다른지 확인해보고자 찾아본 부분들이 있었다. 내부적으로 SYSDATE()와 NOW()의 작동 방식은 쿼리의 실행 계획에 상당한 영향을 받기 때문에 차이가 크다. 예를 들어서 여러개의 SQL 문장에서 now()가 사용된 경우는 실행의 시작값과 끝 값이 동일한 값을 반환 sysdate()는 동일 SQL문장내에서 호출되는 시점에 따라 결과값을 반환 1 select now() ,sleep(3), now() cs 결과값이 같은걸 볼 수 있다. 1 select SYSDATE(), sleep(3), SYSDATE() cs 결과 값이 다르다출처:
2021.09.14 -
like문 사용때 주의사항
DB이관을 하게되었는데 오라클->마리아DB로의 이관이였다. LIKE 문을 사용하는경우 mysql의 문법과 거의 유사하게 따르기때문에 mysql의 문법처럼 like 동적할당 하는부분들 다 바꿔줘야만 했다!! # SQL 에서 LIKE 문 은 아래와 같이 사용된다. SELECT * FROM TABLE_NAME WHERE COLUMN_NAME LIKE PATTERN SELECT * FROM SAMPLE WHERE TAG LIKE 'Sa%' OR WHERE TAG LIKE '%am' OR WHERE TAG LIKE '%am%' # Mybatis에서는 DBMS 종류 별로 차이가 있다. # MySql SELECT * FROM TABLE_NAME WHERE COLUMN_NAME LIKE CONCAT(‘%’, #{sea..
2021.09.14