1. concat(문자열1, 문자열2, 문자열 N . . .)
MySQL에서 문자열을 합쳐주는 기능을 수행하는 내장함수이다.
하지만 조회하거나 합쳐지는 문자열의 값이 NULL이면 concat() 함수의 결과가 NULL로 반환된다.
select concat(first_name, ' ', last_name) as full_name from customer;
2. replace( 컬럼, 기존 문자열, 변환할 문자열 )
특정 문자열을 다른 문자열로 변환, 컬럼에 있는 해당되는 문자를 모두 바꾼다.
select replace(first_name, 'A', '?') as first_name from customer;
위의 코드는 first_name 컬럼에 'A' 문자를 '?'로 바꾼 결과이다.
3. pad( 컬럼명, 대상 값을 포함한 문자열 크기, 삽입할 문자 )
lpad()와 rpad() 로 나뉜다.
- lpad() : 왼쪽 부분에 삽입할 문자를 채운다.
- rpad() : 오른쪽 부분에 삽입할 문자를 채운다.
-- pad()
select lpad(first_name, 20, '.') as lpad_name1,
lpad(first_name, 20, '@') as lpad_name2,
lpad(first_name, 20, ' ') as lpad_name3,
rpad(first_name, 20, '.') as rpad_name1,
rpad(first_name, 20, '@') as rpad_name2,
rpad(first_name, 20, ' ') as rpad_name3
from customer;
4. left, right, mid
해당 문자열에서 일부분의 문자열을 가져오는 것이다.
- LEFT : 문자에 왼쪽을 기준으로 일정 갯수를 가져오는 함수. -> left( 컬럼명, 가져올 문자 개수 )
- MID : 문자에 지정한 시작 위치를 기준으로 일정 갯수를 가져오는 함수. -> substring( 컬럼명, 시작 위치, 가져올 문자 개수 )
- RIGHT : 문자에 오른쪽을 기준으로 일정 갯수를 가져오는 함수. -> right( 컬럼명, 가져올 문자 개수 )
-- left, right, mid
select left(first_name, 3) as left_name,
right(first_name, 3) as right_name,
substring(first_name, 2, 3) as mid_name
from customer;
위 코드에서,
left()는 first_name을 왼쪽 기준으로 3개의 문자만 가져온 것이다.
right()도 left()와 로직이 같다.
substring()은 first_name을 2번째 인덱스 부터 3개의 문자만 가져온 것이다.
5. length(), char_length()
문자열의 길이를 반환해주는 내장 함수이다.
- length() : 한글은 3byte, 영어는 1byte의 메모리 크기를 차지하고 있다.
- char_length() : 한글, 영어 둘다 1byte의 메모리 크기를 차지하고 있다.
select length('가나다라마바사 이것은 아주 긴 문자열이다.') as '한글',
length('qwertyuiopasdfghjkzxcvbnm') as '영어';
select char_length('가나다라마바사 이것은 아주 긴 문자열이다.') as '한글',
char_length('qwertyuiopasdfghjkzxcvbnm') as '영어';
'데이터베이스 > MySQL' 카테고리의 다른 글
[MySQL] m1에서 설치한 mysql이 동작 안할 때, (0) | 2022.08.10 |
---|---|
[MySQL] Error - (M1) 만약에 mysql 비밀번호를 잊어버렸다면... (0) | 2022.07.14 |
[MySQL] Error - (M1) mysql 비밀번호 변경 방법 (0) | 2022.07.14 |