• 카테고리

    질문 & 답변
  • 세부 분야

    보안

  • 해결 여부

    해결됨

mysql case when 구문이용

24.03.26 16:16 작성 조회수 77

1

검색 기능 부분 select * from board where title like '%검색어%' 이 구문에서

Select * From board Where title like '%'||(case when 1=1 then 'test' else 'aaaaaa' end)||'%'

이 문장과 같이 검색어에 case when 구문을 이용해서 조건 구문을 완성 시킬 수 있다고 하셨는데

||연산자를 쓰는 oracle에서는 가능하지만 mysql, mssql에서는 불가능한데 어떤 방식으로 case when구문을 완성 시킬 수 있는지 잘 모르겠습니다.

concat을 이용해야 하나요? 예시를 좀 알려주실 수 있을까요?

 

답변 1

답변을 작성해보세요.

0

mssql의 경우는 연결 연산자가 +이기 때문에 +로 가능합니다.

like '%'+(case when 1=1 then 'test' else 'aaaaaa' end)+'%'

 

mysql의 경우는 이런 구문 만들지 못합니다.

concat의 경우는 title like '%' and concat(~~~~ 이런 형태만 가능하며,

like '%문장%' 이안에서는 활용하지 못합니다.

cassis님의 프로필

cassis

질문자

2024.03.28

감사합니다 이해했습니다:)