728x90
반응형
Mybatis 동적 쿼리 DBMS별 Like 문
DB는 MySql을 쓰고 있고, Mybatis에서 WHERE절에 LIKE 검색을 하였는데 데이터가 모두 나오는 기이한 현상이 있었다.
찾아보니, DBMS별로 Mybatis LIKE문이 다른것을 발견했다.
(Oracle만 쓰다보니 당연히 되겄거니 하고 하였는데 안되었음)
MySql
SELECT *
FROM TABLE
WHERE column_name LIKE CONCAT('%', #{keyword}, '%')
Oracle
SELECT *
FROM TABLE
WHERE column_name LIKE '%' || #{keyword} || '%'
MsSql
SELECT *
FROM TABLE
WHERE column_name LIKE '%' + #{keyword} + '%'
삽질했다...기억해두자
728x90
반응형
'프로그래밍 노트 > 트러블슈팅' 카테고리의 다른 글
SpringBoot, Spock test 미실행 이슈(feat. gradle) (0) | 2022.08.11 |
---|---|
[Spock] MockBean 객체가 정상동작하지 않는 경우 (0) | 2022.02.21 |
[Maven] error resolving version for plugin from the repositories ... 오류 (0) | 2019.03.26 |
AES256 암호화시 java.security.InvalidKeyException: Illegal key size 해결방안 (3) | 2019.03.06 |
[JAVA] Jar안에 있는 resource 파일 읽기(classPath) (2) | 2018.07.16 |