[MySQL] 레코드 대소문자 구분해서 데이터 조회하는 방법
게시판 DB 데이터의 첨부파일 확장자가 대문자인 레코드 내용을 소문자로 변경해야하는 작업이 있었습니다. 대문자로 된 확장자를 가진 레코드를 조회해야하는데 대소문자를 구분하지 않고 결과를 보여줍니다.
대문자 문자열을 조건으로 조회를 하려면 binary 함수를 사용하면 되더군요.
SELECT * FROM my_table WHERE binary(my_text) LIKE '%.JPG%';
이렇게 컬럼명을 binary 함수로 감싸준 뒤 조건절에 대문자를 넣어주면 대문자로.. 소문자를 넣어주면 소문자로 조회 결과를 보여줍니다. 즉, 문자열의 바이너리로 비교하여 대소문자를 명확하게 구분할 수 있습니다.
이 방법은 한 예로 회원가입 시 대소문자를 구분하는 아이디 정책을 사용할때 유용하게 쓰일 것 같습니다.