SQL, LOWER UPPER 함수 사용 방법 (대소문자 전환)
- Database
- 2023. 5. 13.
데이터베이스에 저장된 값이 대문자 또는 소문자로 저장되느냐가 중요할 수 있습니다. 소문자로 저장되어야 하는데 대문자로 저장되어서 애플리케이션 기능이 정상적이지 못하다거나, 사용자들이 각자 저장하는 방식이 달라 정규화가 원활하지 않다던가 하는 문제들이 발생할 수 있기 때문입니다.
LOWER, UPPER
SQL에서 lower()는 문자열을 소문자로, upper() 함수는 문자열을 대문자로 변환하는데 사용됩니다.
[lower 구문]
직접 입력한 텍스트를 소문자로 변환해서 조회
SELECT LOWER('YOUR TEXT');
컬럼의 데이터를 소문자로 변환해서 조회
SELECT LOWER(your_column)
FROM your_table;
[upper 구문]
직접 입력한 텍스트를 대문자로 변환해서 조회
SELECT UPPER('your text');
컬럼의 데이터를 대문자로 변환해서 조회
SELECT UPPER(your_column)
FROM your_table;
SELECT 말고 INSERT, UPDATE 문에서도 lower, upper 함수를 사용할 수 있습니다.
INSERT INTO your_table (your_column)
VALUES (LOWER('YOUR TEXT'));
UPDATE your_table
SET your_column = UPPER(your_column);
LOWER, UPPER 활용 예시
예를 들어, 사용자의 이메일을 데이터베이스에 모두 소문자로 저장하고 싶다면 lower 함수를 활용할 수 있습니다.
INSERT INTO users
VALUES (6, 'test', LOWER('USER@EXAMPLE.COM'));
대소문자를 구분하지 않고 검색을 하고 싶을 때도 사용할 수 있습니다. collation 설정에 따라 굳이 함수를 쓰지 않더라도 대소문자 관계없이 검색이 되는 경우도 있지만(예를 들어, utf8_general_ci) 대소문자를 구분하는 collation을 사용하는 경우엔 lower, upper 함수가 도움이 될 수 있습니다.
SELECT *
FROM users
WHERE LOWER(NAME) = LOWER('TeSt');
반응형
'Database' 카테고리의 다른 글
SQL 서브쿼리 사용 방법 (테이블 연결) (0) | 2023.05.16 |
---|---|
맥북 MySQL 설치 방법 (터미널) (0) | 2023.05.15 |
리눅스 MYSQL 데이터 경로(Datadir) 변경 방법 (0) | 2023.05.08 |
SQL, GROUP BY 사용법 (그룹별 집계) (0) | 2023.05.02 |
SQL, ORDER BY 사용법 (정렬 순서 지정) (0) | 2023.05.02 |