Oracle SQL에서 문자열을 모두 소문자로 변환할 때 사용하는 LOWER 함수에 대해 알아봅니다. 다양한 실무 예제와 함께 활용 방법을 자세히 설명합니다.
1. LOWER 함수란?
LOWER 함수는 문자열을 모두 소문자로 변환하는 Oracle 내장 함수입니다. 일반적으로 대소문자를 구분하지 않는 검색 조건을 만들거나, 데이터를 정규화할 때 자주 사용됩니다.
LOWER(string)
string
: 소문자로 변환할 원본 문자열
2. 기본 사용 예제
SELECT LOWER('ORACLE DATABASE') AS result FROM dual;
-- 결과: 'oracle database'
SELECT LOWER('Hello, World!') FROM dual;
-- 결과: 'hello, world!'
3. WHERE 절에서의 활용
사용자 입력값과 비교할 때 대소문자 구분을 제거하고 검색 일관성을 확보할 수 있습니다.
SELECT * FROM users
WHERE LOWER(username) = LOWER('Admin');
위 쿼리는 'admin', 'ADMIN', 'AdMiN' 등 다양한 입력을 모두 같은 값으로 인식하여 검색합니다.
4. 실무 활용 예제
1) 이메일 소문자 통일
SELECT LOWER(email) AS email_lower
FROM customers;
2) 제품 코드 정규화
UPDATE product
SET product_code = LOWER(product_code)
WHERE product_code IS NOT NULL;
3) 대소문자 구분 제거 후 중복 제거
SELECT DISTINCT LOWER(category) AS unique_category
FROM products;
5. LOWER 함수와 UPPER, INITCAP 비교
- LOWER(string): 모든 문자를 소문자로 변환
- UPPER(string): 모든 문자를 대문자로 변환
- INITCAP(string): 각 단어의 첫 글자만 대문자 변환
SELECT UPPER('oracle'), INITCAP('oracle database') FROM dual;
-- 결과: 'ORACLE', 'Oracle Database'
6. 성능 고려 사항
- LOWER 함수를 WHERE 절에서 사용하면 인덱스를 무시할 수 있으므로, 가급적 컬럼 정규화 또는 함수 기반 인덱스를 활용하는 것이 좋습니다.
- 예: 함수 기반 인덱스 생성
CREATE INDEX idx_lower_username ON users(LOWER(username));
7. 결론
LOWER 함수는 텍스트 정규화와 검색 일관성을 확보하는 데 매우 유용한 함수입니다. 특히 사용자 입력을 비교하거나 데이터 품질을 향상시킬 때 반드시 사용되는 함수로, UPPER, INITCAP 함수와 함께 활용하면 더욱 강력한 문자열 처리가 가능합니다.
'Database > Oracle' 카테고리의 다른 글
[ Oracle] 오라클 LPAD()로 숫자·문자 정렬 깔끔하게 처리하는 방법 (0) | 2025.06.03 |
---|---|
[ Oracle] 오라클 INITCAP() 함수로 텍스트 포맷을 표준화하는 방법 (0) | 2025.06.03 |
[ Oracle] 오라클 UPPER() 함수로 대문자 처리하는 방법 총정리 (0) | 2025.06.03 |
[ Oracle] 오라클 REPLACE() 함수 사용법과 문자열 치환 실전 예제 (0) | 2025.06.03 |
[ Oracle] 오라클 TRIM() 함수 완전 정복: 공백 및 문자 제거 활용법 (0) | 2025.06.03 |