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 |