특수문자조회 질문 MSSQL 0 1 6,841

by 튼실맨 [SQL Query] MSSQL [2024.07.31 11:57:57]


<when test="headerSearchType == 'title'">
AND A.CONTENTS_TITLE LIKE '%' +
REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(
#{headerSearchText, jdbcType=VARCHAR},
'/', '//'), '%', '/%'), '_', '/_'), '[', '/['), ']', '/]'),
'&amp;', '/&amp;')
+ '%' ESCAPE '/'
</when>

현재 이런식으로 특수문자도 검색 가능하게 쿼리를 작성한 상태인데요

타이틀이름이 

ex) 자동추출 & 테스트

이럴 경우에 자동추출은 검색이 되지만, &(앰퍼센트) 특수문자만 넣었을 때는 검색이 안되는 상황입니다.

어떻게 수정을 해야 할까요??

또 이런식으로 특수문자가 추가될때마다 하나씩 추가를 해야 하는건지 아니면 기본적인 특수문자들을 모두 조회할 수 있게 하는 방법이 있을까요?

by 마농 [2024.07.31 15:31:59]

LIKE 대신 CHARINDEX 로 검색하세요.
그러면 Replace 가 불필요 할 듯.
WHERE CHARINDEX('&', a.contents_title) > 0

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입