2021. 9. 14. 11:13ㆍDB이관
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(‘%’, #{searchKeyword}, ‘%’)
# ORACLE
SELECT * FROM TABLE_NAME
WHERE COLUMN_NAME LIKE '%'||#{searchKeyword}||'%'
# Ms-Sql
SELECT * FROM TABLE_NAME
WHERE COLUMN_NAME LIKE '%' + #{searchKeyword} + '%'
이 처럼 미묘하게 다르니깐, 꼭 확인후 사용 하자.
추가
# # 대신 $ 를 붙여서 SQL 에서 쓰던식으로 써도 된다고는 하는데 해보지는 않았다.
SELECT * FROM TABLE_NAME
WHERE COLUMN_NAME LIKE '%${searchKeyword}%'
해당부분은 ''가 생략되어 sql 인젝션에 취약해짐. 관계없는 검색부분이긴 하지만 #를 중심으로 사용해야함.
출처: https://dongram.tistory.com/12 [Dongram 개발]
'DB이관' 카테고리의 다른 글
Oracle With구문 ->Mysql 변환 (0) | 2021.09.14 |
---|---|
Oracle wm_concat -> mysql group_concat (0) | 2021.09.14 |
Mriadb or mysql 대소문자 구분관련 정리 (0) | 2021.09.14 |
MariaDB vs Oracle 데이터타입비교 (0) | 2021.09.14 |
Oracle, mariaDB로 마이그레이션 참고 (0) | 2021.09.14 |