etc

[MySQL] 영어 소문자, 대소문자 만들기 (LOWER, UPPER)

조부장 2020. 9. 24. 18:52

LOWER

LOWER(str)
str: 문자열

문자열 str의 모든 문자가 소문자가 되도록 현재 캐릭터 셋에 따라 반환합니다. 기본값은 utf8mb4입니다.

mysql> SELECT LOWER('QUADRATICALLY');
        -> 'quadratically'

LOWER(+ 후술할 UPPER)는 바이너리 문자열(BINARY, VARBINARY, BLOB)에는 적용되지 않습니다. 그래서 바이너리 문자열에 이 함수를 적용하려면 적절한 캐릭터셋으로 변환한 뒤 LOWER 함수를 적용해줘야 합니다.

mysql> SET @str = BINARY 'New York';
mysql> SELECT LOWER(@str), LOWER(CONVERT(@str USING utf8mb4));
+-------------+------------------------------------+
| LOWER(@str) | LOWER(CONVERT(@str USING utf8mb4)) |
+-------------+------------------------------------+
| New York    | new york                           |
+-------------+------------------------------------+

바이너리 문자열에 LOWER를 적용했을 때와 utf8mb4로 변환 후 LOWER를 적용한 예제입니다.

 

UPPER

UPPER(str)
str: 문자열

문자열 str의 모든 문자가 대문자가 되도록 현재 캐릭터 셋에 따라 반환합니다. 기본값은 utf8mb4이고, 바이너리 문자열 적용 안되는건 LOWER와 동일합니다.

mysql> SELECT UPPER('alphabet');
        -> 'ALPHABET'
반응형