250x250
Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- #java
- log4j
- Oracle
- 오라클
- springboot
- 스프링부트
- #자바
- html
- #자바가상머신
- 설정
- Plugins
- 인텔리제이
- CodeGlance
- 플러그인
- #JVM
- #eclipse
- 환경설정
- 스프링
- #오라클
- log4j2
- Spring
- #Oracle
- 이클립스
- Like
- 설치
- Eclipse
- #이클립스
- mariadb
- 소스코드 맵
- IntelliJ
Archives
- Today
- Total
커피와 개발자
데이터 검색시 대, 소문자 구별 본문
728x90
데이터 검색 대문자, 소문자 구별
웹 프로그래밍을 하다가 보면 검색 기능을 구현할 때가 있다.
상품페이지에서도, 방명록이나 게시판에서도...
이러한 기능을 구현할 때 어떤 특정 필드의 값과 검색어를 비교하여 검색한 데이터를 가져오는데 영어의 단어로 검색할 때 발생할 수 있는 문제점이다.
예를 들어 Mind라는 데이터를 검색한다고 하면 MIND나 mind를 검색어로 사용하였을 경우 검색이 되지 않을 수도 있다. 이는 MySQL의 데이터가 대문자, 소문자 구분으로 되어 구조상 검색할 수 없을 경우다.
MySQL에서 데이터의 구조를 보면 binary 함수가 설정되어 있는지 보자! 만약 설정되어있다면 대문자, 소문자를 구별하겠다는 의미이다.
binary 함수를 사용하면 데이터에 대문자, 소문자를 구별하는 의미이므로 없어줘야 대문자, 소문자 구별 없이 검색이 가능하다.
만약 대문자, 소문자를 구별하여 검색을 하게 하고 싶다면 binary 함수를 사용한 두 가지 방법이 있다.
1. 데이터 구조에서 설정하여 binary 함수를 걸어준다.
(이미 생성된 테이블일 경우에는 ALERT로 BINARY를 수정해주면 된다.)
2. 검색 쿼리 작성 시 binary 함수 옵션을 사용하는 방법
SELECT *
FROM EMP
WHERE NAME
BINARY '%$search%'
728x90
'데이터베이스 > SQL' 카테고리의 다른 글
[MySQL API] mysql_affected_rows() (0) | 2011.03.03 |
---|---|
[MySQL] from_unixtime() (0) | 2010.06.16 |
[MySQL] 테이블 구조 조회 (0) | 2010.06.16 |
[MySQL] 테이블 생성 (0) | 2009.08.04 |
테이블 컬럼 추가, 변경(수정), 삭제 (0) | 2009.07.23 |
Comments