때로는 데이터에서 표시할 문자열 값의 일부만 필요합니다. SUBSTR()
이라는 문자열 함수가 있습니다. . SUBSTRING()
이라는 동등한 함수도 있습니다. . 이 기사에서는 SQL에서 이 부분 문자열 함수를 사용하는 방법을 다룹니다.
준비
이 기사에서 사용된 SQL Fiddle은 다음과 같습니다. 스키마는 다음과 같습니다.
create table names ( id INT, name VARCHAR(50), age INT, gender VARCHAR(50) ); insert into names (id, name, age, gender) values (1, 'Bret Starkings', 55, 'M'); insert into names (id, name, age, gender) values (2, 'Bobbye Eyckel', 76, 'F'); insert into names (id, name, age, gender) values (3, 'Barbie Veschi', 50, 'F'); insert into names (id, name, age, gender) values (4, 'Electra Blazewicz', 47, 'F');
SUBSTR()
를 사용합니다. 이름 열의 일부를 다시 가져오는 함수입니다. 함수의 구문은 다음과 같습니다.
SUBSTR(column_name, position, num_letters);
이 함수는 3개의 매개변수를 취합니다. 하위 문자열을 외삽하려는 열 또는 문자열, 문자열의 1부터 시작하는 시작 위치(0 대신 1에서 시작하는 인덱싱), 문자 길이의 수입니다. 이름 열에서 이 작업을 수행하면 SQL 문이 다음과 같이 나옵니다.
SELECT name, SUBSTR(name, 1, 4) AS NAME_SUBSTRING, age, gender FROM names;
코드 결과는 다음과 같습니다.
이름 | NAME_SUBSTRING | 나이 | 성별 |
브렛 스타킹스 | 브렛 | 55 | 엠 |
바비 아이켈 | 밥 | 76 | F |
바비 인형 | 미늘 | 50 | F |
일렉트라 블레이즈비츠 | 선거 | 47 | F |
에스트렐라 볼리스 | 에스트 | 57 | F |
다음을 선택하는 경우 이 함수의 세 번째 매개변수를 생략할 수 있습니다.
SELECT name, SUBSTR(name, 4) AS NAME_SUBSTRING, age, gender FROM names;
이름 | NAME_SUBSTRING | 나이 | 성별 |
브렛 스타킹스 | 스타킹스 | 55 | 엠 |
바비 아이켈 | 안녕 에이켈 | 76 | F |
바비 인형 | 비 베스키 | 50 | F |
일렉트라 블레이즈비츠 | ctra Blazewicz | 47 | F |
에스트렐라 볼리스 | 렐라 볼리스 | 57 | F |
참가자의 81%는 부트캠프에 참석한 후 기술 직업 전망에 대해 더 자신감을 느꼈다고 말했습니다. 지금 부트캠프에 참여하십시오.
부트캠프 졸업생은 부트캠프 시작부터 첫 직장을 찾는 데까지 6개월도 채 걸리지 않았습니다.
위치에 음수 값을 사용할 수도 있습니다.
SELECT name, SUBSTR(name, -4) AS NAME_SUBSTRING, age, gender FROM names;
이름 | NAME_SUBSTRING | 나이 | 성별 |
브렛 스타킹스 | 작업 | 55 | 엠 |
바비 아이켈 | 크켈 | 76 | F |
바비 인형 | 스키 | 50 | F |
일렉트라 블레이즈비츠 | 위츠 | 47 | F |
에스트렐라 볼리스 | 에이스 | 57 | F |
이러한 SQL 함수와 마찬가지로 구문은 사용 중인 데이터베이스 유형에 따라 약간 다를 수 있습니다. 그러나 일반적인 개념은 동일합니다. 인덱싱이 position 매개변수에 대해 0 대신 1에서 시작한다는 것을 기억하면 쿼리 작성에 큰 도움이 될 것입니다.