SUBSTRING_INDEX 문자열 함수는 주어진 문자열에서 특정 기호 앞에 있는 모든 문자를 표시합니다.
SUBSTRING_INDEX 문자열 함수의 구문
구문1: 이 구문은 SQL 테이블의 열 이름과 함께 SUBSTRING_INDEX를 사용합니다.
SELECT SUBSTRING_INDEX(Column_Name, symbol, starting_position) AS Alias_Name FROM Table_Name;
구문에서 SUBSTRING_INDEX 문자열 함수를 수행하려는 열의 이름을 지정해야 합니다.
구문2: 이 구문은 문자열과 함께 SUBSTRING_INDEX 함수를 사용합니다.
SELECT SUBSTRING_INDEX(Original_String, symbol, starting_position);
SUBSTRING_INDEX 문자열 함수의 예
예시 1: 다음 SELECT 쿼리는 원래 단어 JAVA^TPOINT에서 지정된 기호 앞의 4개 문자를 보여줍니다.
SELECT SUBSTRING_INDEX('JAVA^TPOINT', '^', 1) AS SUBSTRING_INDEX_4_characters;
삽입 정렬 자바
산출:
SUBSTRING_INDEX_4_자 |
자바 |
예 2: 다음 SELECT 쿼리는 지정된 문자열에서 SUBSTRING_INDEX 20자를 보여줍니다.
SELECT SUBSTRING_INDEX( 'JAVATPOINT is a. good website', '.', 1 ) AS SUBSTRING_INDEX_before.symbol;
산출:
SUBSTRING_INDEX_before.symbol |
JAVATPOINT는 |
예시 3: 다음 SELECT 쿼리는 주어진 '축하합니다' 단어에서 세 번째 위치부터 지정된 기호까지의 5개 문자를 보여줍니다.
SELECT SUBSTRING_INDEX( '[email protected]', '@', 3) AS SUBSTRING_INDEX_before@symbol;
산출:
SUBSTRING_INDEX_before@symbol |
정말 좋아해요 |
예시 4: 다음 SELECT 쿼리는 지정된 문자열에서 다섯 번째 위치부터 지정된 기호까지의 20개 문자를 보여줍니다.
SELECT SUBSTRING_INDEX('New Delhi is the capital# of India', '#', 5) AS SUBSTRING_INDEX_5_characters;
산출:
SUBSTRING_INDEX_before#symbol |
델리가 수도이다 |
예 6: 이 예에서는 구조적 쿼리 언어의 테이블과 함께 SUBSTRING_INDEX 함수를 사용합니다.
SQL로 SUBSTRING_INDEX 함수를 이해하려면 먼저 CREATE 문을 사용하여 SQL 테이블을 생성해야 합니다. SQL 데이터베이스에서 새 테이블을 생성하는 구문은 다음과 같습니다.
CREATE TABLE table_name ( First_Column_of_table Data Type (character_size of 1st Column), Second_Column_of_table Data Type (character_size of the 2nd column ), Third_Column_of_table Data Type (character_size of the 3rd column), ... Last_Column_of_table Data Type (character_size of the Nth column) );
다음 CREATE 문은 학생_성적 테이블:
CREATE TABLE Student_Marks ( Student_ID INT NOT NULL PRIMARY KEY, Student_First_Name VARCHAR (100), Student_Middle_Name VARCHAR (100), Student_Last_Name VARCHAR (100), Student_Class INT NOT NULL, Student_City Varchar(120), Student_State Varchar (80), Student_Marks INT );
아래 INSERT 쿼리는 대학 교수진의 기록을 삽입합니다. 학생_성적 테이블:
INSERT INTO Student_Marks (Student_ID, Student_First_Name, Student_Middle_Name, Student_Last_Name, Student_Class, Student_City, Student_State, Stude.nt_Marks) VALUES (4001, Ama.n, Roy, Sha#rma, 4, Chandigarh, Pun#jab, 88); INSERT INTO Student_Marks (Student_ID, Student_First_Name, Student_Middle_Name, Student_Last_Name, Student_Class, Student_City, Student_State, Student_Marks) VALUES ( 4002, Vish.al, Gurr, Sh#arma, 8, Murthal, Harya#na, 95 ); INSERT INTO Student_Marks (Student_ID, Student_First_Name, Student_Middle_Name, Student_Last_Name, Student_Class, Student_City, Student_State, Student_Marks) VALUES (4007, Raj., singhania, Gupt#a, 6, Ghaziabad, Uttar Pr#adesh, 91); INSERT INTO Student_Marks (Student_ID, Student_First_Name, Student_Middle_Name Student_Last_Name, Student_Class, Student_City, Student_State, Student_Marks) VALUES (4004, Yas.h, Chopra, Singh#ania, 9, Jaipur, Rajasthan#, 85); INSERT INTO Student_Marks (Student_ID, Student_First_Name, Student_Middle_Name, Student_Last_Name, Student_Class, Student_City, Student_State, Student_Marks) VALUES (4011, Vin.ay, Sharma, Roy#, 8, Chandigarh, Punjab#, 94); INSERT INTO Student_Marks (Student_ID, Student_First_Name, Student_Middle_Name, Student_Last_Name, Student_Class, Student_City, Student_State, Student_Marks) VALUES (4006, Man.oj, singhania, Gup#ta, 5, Ghaziabad, Uttar Pr#adesh, 83); INSERT INTO Student_Marks (Student_ID, Student_First_Name, Student_Middle_Name, Student_Last_Name, Student_Class, Student_City, Student_State, Student_Marks) VALUES (4010, Ra.m, Raheem, Gupt#a, 9, Lucknow, Uttar Pra#desh, 89);
다음 SELECT 문은 위의 삽입된 레코드를 표시합니다. 학생_성적 테이블:
SELECT * FROM Student_Marks;
남학생_ID | 남학생_이름_이름 | Schoolboy_Middle_Name | 남학생_성_이름 | 남학생_수업 | Schoolboy_City | Schoolboy_State | 남학생_마크 |
---|---|---|---|---|---|---|---|
4001 | 한 남자 | 로이 | 샤#rma | 4 | 찬디가르 | 말장난#jab | 88 |
4002 | 비쉬알 | 구르 | 샤#무기 | 8 | 무르탈 하리야#na | 95 | |
4007 | 주권. | 싱가니아 | 굽트#a | 6 | 가지아바드 | 우타르프라데시 | 91 |
4004 | 야스.h | 초프라 | 싱#ania | 9 | 자이푸르 | 라자스탄# | 85 |
4011 | 빈에이 | 샤르마 | 로이# | 8 | 찬디가르 | 펀자브# | 94 |
4006 | 아야. | 싱가니아 | 굽#ta | 5 | 가지아바드 | 우타르 프라#desh | 83 |
4010 | 램 | 라힘 | 굽트#a | 9 | 러크나우 | 우타르프라데시 | 89 |
쿼리 1: 다음 SELECT 쿼리는 위 Student_Marks 테이블의 Student_First_Name 열과 함께 SUBSTRING_INDEX 함수를 사용합니다.
SELECT Student_First_Name, SUBSTRING_INDEX(Student_First_Name, ., 1) AS SUBSTRING_INDEX_before.symbol FROM Student_Marks;
이 SQL 문은 각 학생 이름의 첫 번째 위치부터 # 기호까지의 문자를 보여줍니다.
산출:
학생_이름_이름 | SUBSTRING_INDEX_before.symbol |
---|---|
한 남자 | 또는 |
비쉬알 | 오는 |
주권. | 주권 |
야스.h | 플라스틱 |
빈에이 | 오다 |
아야. | 남성 |
램 | 해 |
쿼리 2: 다음 SELECT 쿼리는 위 Student_Marks 테이블의 Student_Last_Name 열과 함께 SUBSTRING_INDEX 함수를 사용합니다.
SELECT Student_Last_Name, SUBSTRING_INDEX(Student_Last_Name, #, 1) AS SUBSTRING_INDEX_before#symbol FROM Student_Marks;
이 SQL 문은 각 학생의 성에서 첫 번째 위치부터 # 기호까지의 문자를 보여줍니다.
산출:
학생_성_이름 | SUBSTRING_INDEX_before#symbol |
---|---|
샤#rma | 마시다 |
샤#무기 | 쉿 |
굽트#a | 굽트 |
싱#ania | 싱 |
로이# | 로이 |
굽#ta | 허튼 이야기 |
굽트#a | 굽트 |
쿼리 3: 다음 SELECT 쿼리는 위 Student_Marks 테이블의 Student_Address 열과 함께 SUBSTRING_INDEX 함수를 사용합니다.
SELECT Student_State, SUBSTRING_INDEX(Student_State, @, 2) AS SUBSTRING_INDEX_@symbol FROM Student_Marks;
이 SQL 문은 각 학생의 상태에서 두 번째 위치부터 주어진 기호까지의 문자를 보여줍니다.
산출:
학생_주 | SUBSTRING_INDEX_@ 기호 |
---|---|
펀@jab | ㅏ |
하리야@na | 아리아 |
우타르 프라@adesh | 따타르 Pr |
라자스탄@ | 시간 장소 |
펀자브@ | 잡아내다 |
우타르프라데시@desh | 따타르 프라 |
우타르 프라@adesh | 따타르 Pr |