데이터베이스 개발자 질문과 답변 게시판
데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 SQLER 분들의 답변을 받으실 수 있습니다. 문의를 하실때에는 최근 작업하신 특이 사항이나, 장애 발생 전 상황을 상세히 올려 주시면 답글을 적어주시는 SQLER분들의 답변이 더 정확할 수 있으니 도움 되시길 바랍니다. 쿼리 문의일 경우, 실제 문제가 재현되는 테이블생성, 샘플데이터 생성 쿼리를 함께 올려 주시면 더 빠르고 정확한 쿼리 문의 응답이 가능합니다.
안녕하세요. DB 공부하고 있는 학생입니다.
CASE 조건문을 짜고 있는데, 특정 테이블의 특정 열 전체에서 어떠한 문자열이 존재하면, 문자열을 출력하는 것을 생각하고 있습니다.
b 테이블에서 어떠한 문자열의 존재유무를 검색해야 되는데,
CASE WHEN b.search??? THEN 'no result' WHEN a.test IS NULL OR a.test='0' THEN 'post something' ELSE 'success' END AS testing
LIKE를 쓰자고 하자하니(NOT 붙여서요) 없는 부분 찾고 출력한 뒤에, 있는 부분도 찾아서 값을 두 개 출력하게 되더라구요.
그 반대도 하구요.
그래서 열 하나를 다 뒤져봐서 특정 스트링가 들어간 수를 세어본 뒤에 하는 방법은 어떤가 하는데 그것대로 잘 안되더라구요.
Comment 1
-
지영아빠
2022.01.10 12:25
문제가 요구하는 게 맞는 지 모르곘지만
케이스는 a:2 * b:2 의 케이스 같으네요.
case when charindex('b_search_word', b.search) > 0 and charindex('a_search_word', a.test) > 0 then 'a, b exists'
when charindex('b_search_word', b.search) = 0 and charindex('a_search_word', a.test) > 0 then ' only a exists'
when charindex('b_search_word', b.search) > 0 and charindex('a_search_word', a.test) = 0 then ' only b exists'
else
'not exists'
end case,