문자열에서 대소문자 구분없애기 - upper, lower, initcap
2023. 1. 29. 00:55ㆍDB
sql에서 문자열을 다루다보면 마주하는 여러가지 상황이 있다.
- 대소문자의 구분을 없애야 하는 경우
- 소문자로 들어온 데이터들의 값을 대문자로 바꾸어야하는 경우
- 소문자로 이루어진 문자열의 첫 글자를 대문자로 바꾸어야 하는 경우
이를 해결할 수 있는 문법 3가지를 설명하는 글이다.
1. upper
문자열을 대문자로 바꿔주는 기능이다.
upper('문자열') or upper(컬럼명)
ex)
1
2
|
SELECT name, upper(name) upper_name
from animal_ins
|
cs |
1-1. ucase(mysql)
mysql 문법으로 upper와 같은 역할
1
2
|
SELECT name, upper(name) upper_name
from animal_ins
|
2. lower
문자열을 소문자로 바꿔주는 기능이다.
lower('문자열') or lower(컬럼명)
ex)
1
2
|
SELECT upper(name) upper_name, lower(name) lower_name
from animal_ins
|
cs |
3. initcap(oracle)
문자열에서 첫문자를 대문자로 바꿔주는 기능이다.
initcap('문자열') or initcap(컬럼명)
ex)
1
2
|
SELECT upper(name) upper_name, initcap(name) initcap_name
from animal_ins
|
cs |
이는 오라클에서만 지원해주는 문법이고 같은 기능은 mysql에는 없다.
mysql에서 첫문자만 대문자로 변환한다면 upper와 lower를 조합해서 사용하면 된다.
1
2
3
|
SELECT lower(name) lower_name,
concat(upper(substr(name, 1,1)), lower(substr(name,2))) name
from animal_ins
|
cs |
'DB' 카테고리의 다른 글
[mysql] 상위 n개 뽑기 (0) | 2023.07.06 |
---|---|
SQL case 문법 (0) | 2023.01.27 |
특정 문자열 포함 여부 확인하기 (0) | 2023.01.21 |
[mysql / oracle] null 처리 : ifnull / nvl / coalesce (0) | 2023.01.20 |
[mysql/oracle] 날짜 형식 : DATE_FORMAT() / TO_CHAR (0) | 2023.01.20 |