NullPointerException
MySql - 데이터의 대소문자 구분하기 본문
varchar or char 데이터 형은 기본적으로 대소문자 구분을 하지 않는 모양이다.
과거에 실수를 했을지도 모른다는 생각이 든다.
select useid from user_table where crtdt = '2008-05-12' group by binary userid ;
select binary useid from user_table where crtdt = '2008-05-12' group by userid ;
두번째 문장은 이미 같은 대소문자로 구성된 데이터( abcd, ABCd) 가 걸러져버린 상태이기 때문에 binary 캐스팅을 해도
데이터가 유실된다. 둘중 하나만 나온다.
이런 경우는 userid 라는 필드의 데이터 형에 binary 라는 속성을 주도록 alter table을 하거나 첫번째 문장처럼 쿼리할 때 binary 속성을 주면 된다.
출처 : http://drawpiano.egloos.com/1697713
Comments