본문 바로가기
Mybatis

mybatis 비교문에서 한 글자일 경우 홑따옴표→쌍따옴표

by 모닝위즈 2021. 12. 30.
반응형

<select id="select">
    SELECT * FROM TB_DATA
    WHERE 1=1
    <choose>
        <when test="type=='WQ'"> -- 비교값이 두 글자 이상일 경우에는 이렇게하면 됨.
            AND seq in (1,2,3,4)
        </when>
        <when test="type=='W'"> -- 비교값이 한 글자인 경우에는 이렇게하면 datatype (why? char) 에러가 발생. 
            AND seq in (1,2,3,4)
        </when>
        <when test='type=="W"'> -- 비교값이 한 글자인 경우에는 홑따옴표로 쌍따옴표를 서로 바꾸어 String형으로 읽도록 한다.
            AND seq in (1,2,3,4)
        </when>
        <otherwise>
            AND seq in (1,2,3,4,5,6,7,8)
        </otherwise>
    </choose>
</select>

 

* 신입들이 종종 실수를 하길래 다루어 보았습니다.

댓글