반응형
츄르사려고 코딩하는집사입니다.
[SQL] 대소문자 구분 없이 검색하는 방법 LOWER, UPPER
DB에서 검색을 할 때, 영어로 된 데이터를 찾는 것은 한글로 찾는 것보다 조금 까다롭습니다.
영어는 소문자와 대문자를 구분하지만, 한글은 대문자와 소문자를 구분하지 않기 때문에 영어로 된 데이터를 찾을 때는 대소문자를 구분하여 검색해야 합니다.
이 대소문자를 구분하지 않고 검색을 하는 방법은 데이터를 대문자(UPPER) 또는 소문자(LOWER)로 변환한 다음에, 검색하는 입력값(WORD)를 대문자(UPPER) 또는 소문자(LOWER)로 변환하여 WHERE 절에 입력하면 됩니다.
1. 소문자 변환 LOWER
SELECT NAME
FROM STUDENT
WHERE LOWER(NAME) = LOWER(WORD)
2. 대문자 변환 UPPER
SELECT NAME
FROM STUDENT
WHERE UPPER(NAME) = UPPER(WORD)
이 외에도, 대문자와 소문자를 구분하지 않고 찾는 데이터에 포함하는 알파벳이 있으면 출력해주는 방법으로도 웹에서 검색 조건에 맞게 할 수 있습니다.
예를 들어, STUDENT라는 테이블에서 Jason이라는 이름을 검색하려고 할 때, 아래의 쿼리를 사용하면 됩니다.
1. REGEXP_LIKE와 LOWER 사용
SELECT NAME
FROM STUDENT
WHERE REGEXP_LIKE(LOWER(NAME), LOWER(#NAME#))
2. REGEXP_LIKE와 UPPER 사용
SELECT NAME
FROM STUDENT
WHERE REGEXP_LIKE(UPPER(NAME), UPPER(#NAME#))
반응형
'Language > SQL' 카테고리의 다른 글
[SQL] SQL 튜닝이란? (0) | 2022.07.06 |
---|---|
[엑셀/Excel] 엑셀(Excel)로 SQL 쿼리문 만드는 방법 (0) | 2022.04.23 |
특정 문자 제거하고 UPDATE 치는 방법 (0) | 2022.04.14 |
IBatis에서 MyBatis로 변환할 때, XML 변환 코드 (2) | 2022.01.01 |
[SQL] SQL 공백 제거하는 방법(TRIM, LTRIM, RTRIM) (0) | 2021.12.01 |
오라클(Oracle) SQL <>와 비교연산자 (0) | 2021.09.17 |
[HackerRank] Employee Salaries 오라클(Oracle) (0) | 2021.09.16 |
오라클(Oracle) SQL 데이터 안에 한글 데이터 찾는 방법 (0) | 2021.09.16 |
최근댓글