A função de string SUBSTRING_INDEX mostra todos os caracteres antes do símbolo específico na string fornecida.
Sintaxe da função de string SUBSTRING_INDEX
Sintaxe1: Esta sintaxe usa SUBSTRING_INDEX com o nome da coluna da tabela SQL:
SELECT SUBSTRING_INDEX(Column_Name, symbol, starting_position) AS Alias_Name FROM Table_Name;
Na sintaxe, temos que especificar o nome da coluna na qual queremos executar a função de string SUBSTRING_INDEX.
Sintaxe2: Esta sintaxe usa a função SUBSTRING_INDEX com a string:
SELECT SUBSTRING_INDEX(Original_String, symbol, starting_position);
Exemplos de função String SUBSTRING_INDEX
Exemplo 1: A seguinte consulta SELECT mostra os quatro caracteres antes do símbolo fornecido na palavra original JAVA^TPOINT:
SELECT SUBSTRING_INDEX( 'JAVA^TPOINT', '^', 1) AS SUBSTRING_INDEX_4_characters;
java x c++
Saída:
SUBSTRING_INDEX_4_caracteres |
JAVA |
Exemplo 2: A seguinte consulta SELECT mostra os 20 caracteres SUBSTRING_INDEX da string fornecida:
SELECT SUBSTRING_INDEX( 'JAVATPOINT is a. good website', '.', 1 ) AS SUBSTRING_INDEX_before.symbol;
Saída:
SUBSTRING_INDEX_before.symbol |
JAVATPOINT é um |
Exemplo 3: A seguinte consulta SELECT mostra os 5 caracteres da terceira posição até o símbolo fornecido na palavra 'parabéns' fornecida:
SELECT SUBSTRING_INDEX( '[email protected]', '@', 3) AS SUBSTRING_INDEX_before@symbol;
Saída:
SUBSTRING_INDEX_before@symbol |
ADORO |
Exemplo 4: A seguinte consulta SELECT mostra os 20 caracteres da quinta posição até o símbolo fornecido na string fornecida:
SELECT SUBSTRING_INDEX('New Delhi is the capital# of India', '#', 5) AS SUBSTRING_INDEX_5_characters;
Saída:
SUBSTRING_INDEX_before#symbol |
Deli é a capital |
Exemplo 6: Este exemplo usa a função SUBSTRING_INDEX com a tabela em Structured Query Language.
Para entender a função SUBSTRING_INDEX com SQL, temos que primeiro criar a tabela SQL usando a instrução CREATE. A sintaxe para criação da nova tabela no banco de dados SQL é a seguinte:
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) );
A seguinte instrução CREATE cria o Notas_Aluno mesa:
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 );
As consultas INSERT abaixo inserem os registros das faculdades universitárias no Notas_Aluno mesa:
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);
A seguinte instrução SELECT exibe os registros inseridos acima Notas_Aluno mesa:
SELECT * FROM Student_Marks;
Estudante_Id | Aluno_Primeiro_Nome | Schoolboy_Middle_Name | Estudante_Sobrenome_ | Aluno_Classe | Estudante_Cidade | Estudante_Estado | Aluno_Marcas |
---|---|---|---|---|---|---|---|
4001 | Um homem | Roy | Sha#rma | 4 | Chandigarh | Trocadilho#jab | 88 |
4002 | Vish.al | Gur | Arma # | 8 | Murthal Harya#na | 95 | |
4007 | Raj. | Singhânia | Gupt#a | 6 | Ghaziabad | Utar Pradesh | 91 |
4004 | Sim.h | Chopra | Singh#ania | 9 | Jaipur | Rajastão# | 85 |
4011 | Vin.ay | Sharma | Roy# | 8 | Chandigarh | Punjab# | 94 |
4006 | Cara. | Singhânia | Gup#ta | 5 | Ghaziabad | Uttar Pra#desh | 83 |
4010 | Bater | Raheem | Gupt#a | 9 | Luck agora | Utar Pradesh | 89 |
Consulta 1: A consulta SELECT a seguir usa a função SUBSTRING_INDEX com a coluna Student_First_Name da tabela Student_Marks acima:
SELECT Student_First_Name, SUBSTRING_INDEX(Student_First_Name, ., 1) AS SUBSTRING_INDEX_before.symbol FROM Student_Marks;
Esta instrução SQL mostra os caracteres desde a primeira posição até o símbolo # no nome de cada aluno.
um exemplo de sistema operacional de código aberto é
Saída:
Aluno_Primeiro_Nome | SUBSTRING_INDEX_before.symbol |
---|---|
Um homem | Ou |
Vish.al | chegando |
Raj. | Raj |
Sim.h | Plástico |
Vin.ay | vir |
Cara. | Homem |
Bater | Sol |
Consulta 2: A consulta SELECT a seguir usa a função SUBSTRING_INDEX com a coluna Student_Last_Name da tabela Student_Marks acima:
SELECT Student_Last_Name, SUBSTRING_INDEX(Student_Last_Name, #, 1) AS SUBSTRING_INDEX_before#symbol FROM Student_Marks;
Esta instrução SQL mostra os caracteres desde a primeira posição até o símbolo # no sobrenome de cada aluno.
Saída:
Aluno_Sobrenome_ | SUBSTRING_INDEX_before#symbol |
---|---|
Sha#rma | Bebida |
Arma # | Sh |
Gupt#a | Gupt |
Singh#ania | Singh |
Roy# | Roy |
Gup#ta | Gup |
Gupt#a | Gupt |
Consulta 3: A consulta SELECT a seguir usa a função SUBSTRING_INDEX com a coluna Student_Address da tabela Student_Marks acima:
SELECT Student_State, SUBSTRING_INDEX(Student_State, @, 2) AS SUBSTRING_INDEX_@symbol FROM Student_Marks;
Esta instrução SQL mostra os caracteres da segunda posição até o símbolo fornecido no estado de cada aluno.
Saída:
Estado_Aluno | SUBSTRING_INDEX_@símbolo |
---|---|
Trocad@jab | a |
Harya@na | Aria |
Uttar Pra@adesh | Ttar Pr |
Rajastão@ | hora, lugar |
Punjab@ | desfazer |
Uttar Pradesh@desh | ttar Pra |
Uttar Pra@adesh | Ttar Pr |