logo

Función SUBSTRING_INDEX en SQL

La función de cadena SUBSTRING_INDEX muestra todos los caracteres antes del símbolo específico en la cadena dada.

Sintaxis de la función de cadena SUBSTRING_INDEX

Sintaxis1: Esta sintaxis utiliza SUBSTRING_INDEX con el nombre de la columna de la tabla SQL:

 SELECT SUBSTRING_INDEX(Column_Name, symbol, starting_position) AS Alias_Name FROM Table_Name; 

En la sintaxis, tenemos que especificar el nombre de esa columna en la que queremos realizar la función de cadena SUBSTRING_INDEX.

Sintaxis2: Esta sintaxis utiliza la función SUBSTRING_INDEX con la cadena:

 SELECT SUBSTRING_INDEX(Original_String, symbol, starting_position); 

Ejemplos de función de cadena SUBSTRING_INDEX

Ejemplo 1: La siguiente consulta SELECT muestra los cuatro caracteres antes del símbolo dado en la palabra original JAVA^TPOINT:

SELECCIONE SUBSTRING_INDEX( 'JAVA^TPOINT', '^', 1) AS SUBSTRING_INDEX_4_characters;

Producción:

SUBSTRING_INDEX_4_caracteres
JAVA

Ejemplo 2: La siguiente consulta SELECT muestra los 20 caracteres SUBSTRING_INDEX de la cadena dada:

 SELECT SUBSTRING_INDEX( 'JAVATPOINT is a. good website', '.', 1 ) AS SUBSTRING_INDEX_before.symbol; 

Producción:

SUBSTRING_INDEX_antes.symbol
JAVATPOINT es un

Ejemplo 3: La siguiente consulta SELECT muestra los 5 caracteres desde la tercera posición hasta el símbolo dado en la palabra 'felicitaciones' dada:

nombre de la ciudad en estados unidos
 SELECT SUBSTRING_INDEX( '[email protected]', '@', 3) AS SUBSTRING_INDEX_before@symbol; 

Producción:

SUBSTRING_INDEX_antes@símbolo
ME ENCANTA

Ejemplo 4: La siguiente consulta SELECT muestra los 20 caracteres desde la quinta posición hasta el símbolo dado en la cadena dada:

 SELECT SUBSTRING_INDEX('New Delhi is the capital# of India', '#', 5) AS SUBSTRING_INDEX_5_characters; 

Producción:

SUBSTRING_INDEX_antes#símbolo
delhi es la capital

Ejemplo 6: este ejemplo utiliza la función SUBSTRING_INDEX con la tabla en lenguaje de consulta estructurado.

Para comprender la función SUBSTRING_INDEX con SQL, primero debemos crear la tabla SQL usando la instrucción CREATE. La sintaxis para crear la nueva tabla en la base de datos SQL es la siguiente:

 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) ); 

La siguiente declaración CREATE crea el Marcas_estudiantes 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 ); 

Las siguientes consultas INSERT insertan los registros de las facultades universitarias en el Marcas_estudiantes 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); 

La siguiente instrucción SELECT muestra los registros insertados de lo anterior Marcas_estudiantes mesa:

 SELECT * FROM Student_Marks; 

colegial_id Nombre_del_colegio Colegial_Segundo_Nombre colegial_apellido colegial_clase colegial_ciudad colegial_estado marcas de colegial
4001 Un hombre roy sha#rma 4 Chandigarh Punjab 88
4002 Vish.al Gurr Sh#arma 8 Murthal Harya#na 95
4007 Raj. Singhania Gupt#a 6 Ghaziabad Uttar Pradesh 91
4004 Yas.h chopra Singh#ania 9 Jaipur Rajastán# 85
4011 vin.ay sharma Roy # 8 Chandigarh Punjab# 94
4006 Hombre, ay. Singhania gup#ta 5 Ghaziabad Uttar Pra#desh 83
4010 RAM rahim Gupt#a 9 Lucknow Uttar Pradesh 89

Consulta 1: La siguiente consulta SELECT utiliza la función SUBSTRING_INDEX con la columna Student_First_Name de la tabla Student_Marks anterior:

usos del sistema operativo
 SELECT Student_First_Name, SUBSTRING_INDEX(Student_First_Name, ., 1) AS SUBSTRING_INDEX_before.symbol FROM Student_Marks; 

Esta declaración SQL muestra los caracteres desde la primera posición hasta el símbolo # en el nombre de cada estudiante.

Producción:

Nombre_del_estudiante SUBSTRING_INDEX_antes.symbol
Un hombre O
Vish.al próximo
Raj. Raj
Yas.h El plastico
vin.ay venir
Hombre ay Hombre
RAM Sol

Consulta 2: La siguiente consulta SELECT utiliza la función SUBSTRING_INDEX con la columna Student_Last_Name de la tabla Student_Marks anterior:

 SELECT Student_Last_Name, SUBSTRING_INDEX(Student_Last_Name, #, 1) AS SUBSTRING_INDEX_before#symbol FROM Student_Marks; 

Esta declaración SQL muestra los caracteres desde la primera posición hasta el símbolo # en el apellido de cada estudiante.

Producción:

Apellido_estudiante SUBSTRING_INDEX_antes#símbolo
sha#rma Beber
Sh#arma sh
Gupt#a Gupt
Singh#ania singh
Roy# roy
gup#ta Chisme
Gupt#a Gupt

Consulta 3: La siguiente consulta SELECT utiliza la función SUBSTRING_INDEX con la columna Student_Address de la tabla Student_Marks anterior:

 SELECT Student_State, SUBSTRING_INDEX(Student_State, @, 2) AS SUBSTRING_INDEX_@symbol FROM Student_Marks; 

Esta declaración SQL muestra los caracteres desde la segunda posición hasta el símbolo dado en el estado de cada estudiante.

Producción:

Estado_estudiante SUBSTRING_INDEX_@símbolo
Punjab un
harya@na aria
Uttar Pra@adesh ttar pr
Rajastán @ Tiempo lugar
Punjab@ desarmar
Uttar Pradesh@desh ttar pra
Uttar Pra@adesh ttar pr