티스토리 뷰
📌 SQL UPPER 함수
단일 인수(문자열)를 사용하여 해당 문자열을 모두 대문자로 반환합니다.
구문은 간단합니다.
UPPER(string)
- UPPER 함수는 'SELECT', 'WHERE', 'ORDER BY'를 포함한 다양한 SQL 문에서 사용할 수 있습니다.
📌 사용 방법
기본적인 예를 살펴보겠습니다.
'CustomerName' 열이 포함된 'Customers'라는 테이블이 있다고 가정해 보겠습니다.
모든 고객 이름을 대문자로 검색하려면 다음과 같이 작성합니다.
SELECT UPPER(CustomerName) AS UppercaseName
FROM Customers;
1. 대소문자를 구분하지 않는 비교: 대소문자를 구분하지 않고 문자열을 비교할 때 'UPPER'를 사용하면 비교의 양쪽이 동일한 대소문자인지 확인할 수 있습니다.
SELECT *FROM Customers
WHERE UPPER(CustomerName) = UPPER('john doe');
2. 데이터 표준화: 레코드를 삽입하거나 업데이트할 때 'UPPER'를 사용하면 일관된 대소문자 구분을 유지하는 데 도움이 될 수 있습니다.
INSERT INTO Customers (CustomerName)
VALUES (UPPER('john doe'));
📌 GOOD 사용법
- 데이터 정규화: 특히 이메일 주소나 사용자 이름과 같은 필드의 경우 표준 형식을 유지하기 위해 데이터를 저장할 때 'UPPER'를 사용하세요.
- 비교 쿼리: 대소문자를 구분하지 않는 비교를 위해 'WHERE' 절에서 'UPPER'를 활용하여 데이터 대소문자에 관계없이 모든 관련 레코드를 캡처할 수 있습니다.
- 정렬: 데이터를 정렬할 때 대문자로 변환하면 대소문자가 다를 경우 일관된 순서를 유지하는 데 도움이 될 수 있습니다.
SELECT *FROM Customers
ORDER BY UPPER(CustomerName);
📌 BAD 사용법
- 성능 문제: 대규모 데이터 세트에서 UPPER를 사용하면 특히 WHERE 절에서 인덱스 사용을 방지할 수 있으므로 성능 저하가 발생할 수 있습니다. 대신, 데이터베이스에서 지원하는 경우 대소문자를 구분하지 않는 데이터 정렬 사용을 고려하세요.
- 불필요한 변환: 필요하지 않은 경우 'UPPER'를 사용하지 마세요. 모든 데이터가 이미 대문자인 경우 다시 변환할 필요가 없습니다.
- JOIN 조건의 남용: JOIN 조건에서 UPPER를 사용하면 비효율성이 발생할 수 있습니다. 가능하다면 삽입하기 전에 데이터가 표준화되었는지 확인하세요.
SQL 'UPPER' 함수는 텍스트 데이터를 대문자로 변환하여 비교 및 표준화를 돕는 편리한 도구입니다.
이 기능을 활용할 때는 성능에 미치는 영향과 데이터 무결성을 고려해야 합니다.
반응형