SQL, LOWER UPPER 함수 사용 방법 (대소문자 전환)

데이터베이스에 저장된 값이 대문자 또는 소문자로 저장되느냐가 중요할 수 있습니다. 소문자로 저장되어야 하는데 대문자로 저장되어서 애플리케이션 기능이 정상적이지 못하다거나, 사용자들이 각자 저장하는 방식이 달라 정규화가 원활하지 않다던가 하는 문제들이 발생할 수 있기 때문입니다.

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'));

 

lower 함수

 

대소문자를 구분하지 않고 검색을 하고 싶을 때도 사용할 수 있습니다. collation 설정에 따라 굳이 함수를 쓰지 않더라도 대소문자 관계없이 검색이 되는 경우도 있지만(예를 들어, utf8_general_ci) 대소문자를 구분하는 collation을 사용하는 경우엔 lower, upper 함수가 도움이 될 수 있습니다.

 

SELECT *
FROM users
WHERE LOWER(NAME) = LOWER('TeSt');

 

upper 함수

반응형

댓글

Designed by JB FACTORY