안녕하세요~ 오늘도 프로그래머스 문제들을 풀어보면서 공부한 쿼리문들에 관해서 정리해보겠습니다~!!
◎ 문자열 검색 및 추출 함수
NO | 함수명 | 상세 설명 |
1 | LIKE | 원하는 문자열과 일치하는 컬럼을 조회할 때 사용하는 함수 |
2 | SUBSTR | 문자열의 일부분을 추출할 때 사용하는 함수( SUBSTRING과 거의 동일 ) |
3 | LEFT | 왼쪽부터 지정된 길이만큼의 문자를 추출하는 함수 |
4 | LENGTH | 문자열의 길이를 반환하는 함수 |
1. LIKE 함수
▷ 원하는 문자열과 일치하는 컬럼을 조회할 때 사용하는 함수
◎ 사용법
1. LIKE 사용 방법
SELECT * FROM 테이블명 WHERE 컬럼1 LIKE '찾는 값';
▷ 해당 테이블의 컬럼1 열의 값이 '찾는 값'과 같은 문자열을 가지는 행을 모두 출력합니다.
◎ 예시SELECT * FROM board WHERE title LIKE '오늘';
▷ board 테이블에 title이 '오늘'과 같은 행들을 모두 출력합니다.
2. 문자열 포함되는 값 조회 방법
▷ 추가로 '%', '_'를 이용해서 해당 문자열이 포함된 함수들을 출력할 수 있습니다.◎ 예시
-- 1. board 테이블에 title이 '오늘'로 시작하는 행들을 모두 출력합니다. SELECT * FROM board WHERE title LIKE '%오늘'; -- 2. board 테이블에 title이 '오늘'로 끝나는 행들을 모두 출력합니다.. SELECT * FROM board WHERE title LIKE '오늘%'; -- 3. board 테이블에 title에 '오늘'이 포함되는 행들을 모두 출력합니다. SELECT * FROM board WHERE title LIKE '%오늘%'; -- 4. board 테이블에 title에 '오늘'을 포함한 세글자로 구성된 문자열의 행들을 모두 출력합니다. -- 예시 : 오늘은, 오늘만, 오늘을 ... // 틀린 예시 : 늘오늘, 가오늘 ... SELECT * FROM board WHERE title LIKE '오늘_';
2. 문자열 추출 함수
(1) SUBSTR, SUBSTRING
▷ 문자열의 일부분을 추출할 때 사용하는 쿼리문
▷ SUBSTR은 대부분의 DB에서 호환되지만, SUBSTRING은 MySQL에서만 사용 가능
(2) LEFT
▷ 왼쪽부터 지정한 길이만큼 문자열을 추출할 때 사용하는 함수
◎ 사용법
1. SUBSTR, SUBSTRING 사용 방법
-- 1. 컬럼1의 시작 인덱스부터 끝까지 출력합니다. SELECT SUBSTR(컬럼1, 시작 인덱스) FROM 테이블명; -- 2. 컬럼1의 시작 인덱스부터 길이만큼 출력합니다. SELECT SUBSTR(컬럼1, 시작 인덱스, 길이) FROM 테이블명;
▷ 시작 인덱스는 배열과는 다르게 첫번째 글자가 1부터 시작합니다.
▷ 예시 : substr('오늘의 날씨는', 3) → '의 날씨는' 출력
◎ 예시-- 1. 출력 값 : '늘의 날씨는' SELECT SUBSTR('오늘의 날씨는', 2) FROM board; -- 2. 출력 값 : '늘의' SELECT SUBSTR('오늘의 날씨는', 2, 3) FROM board;
▷ substr과 substring은 동일하게 출력됩니다!!
2. LEFTSELECT LEFT(컬럼1, 길이) FROM 테이블명;
▷ 왼쪽부터 길이만큼의 글자수가 출력됩니다.
◎ 예시SELECT LEFT('오늘의 날씨는', 3);
▷ 출력 값 : '오늘은'
3. LENGTH 함수
▷ 문자열의 길이를 출력할 때 사용하는 함수
◎ 사용법
1. LENGTH 사용 방법
SELECT LENGTH(문자열);
▷ 문자열의 길이를 출력합니다.
◎ 예시SELECT LENGTH('오늘의 날씨는');
▷ 출력 값 : 7 (공백도 문자열의 길이에 포함)
문자열 검색 및 문자열 추출 함수를 이용하면 검색을 할 때 쿼리문을 이용하면 간편하게 나타낼 수 있겠어요!!
쿼리문을 응용해서 문제들을 해결해보도록 할게요ㅎㅎ
많은 분들의 피드백은 언제나 환영합니다! 많은 댓글 부탁드려요~~