logo

Funkce REPLACE v SQL

Tato funkce řetězce strukturovaného dotazovacího jazyka nahradí všechny výskyty těchto znaků v původním řetězci daným novým znakem nebo podřetězcem. Tato funkce také nahradí hodnotu sloupce novou hodnotou.

mapa na stroji

Syntaxe funkce REPLACE String

Syntaxe 1: Tato syntaxe používá funkci REPLACE s názvem sloupce tabulky SQL:

 SELECT REPLACE(Column_Name, Character/string_to_replace, new_String/character ) AS Alias_Name FROM Table_Name; 

V syntaxi musíme zadat název toho sloupce, jehož hodnoty chceme nahradit.

Syntaxe 2: Tato syntaxe používá funkci REPLACE s řetězcem:

 SELECT REPLACE(Original_String, String_to_Replace, New_String) AS Alias_Name; 

Syntaxe 3: Tato syntaxe používá funkci REPLACE s jednotlivým znakem:

 SELECT REPLACE(Original_String, character_to_Replace, New_Character) AS Alias_Name; 

Příklady funkce REPLACE String

Příklad 1: Následující dotaz SELECT nahradí znak 'R' znakem 'P' v původním řetězci:

 SELECT REPLACE( 'JAVATROINT', 'R', 'P' ) AS Website_Name; 

Výstup:

Název_webu
JAVATPOINT

Příklad 2: Následující dotaz SELECT nahradí všechny výskyty znaku 'S' novým znakem 'T' v původním řetězci:

 SELECT REPLACE( 'JAVASPOINS', 'S', 'T') AS Website_Name; 

Výstup:

Název_webu
JAVATPOINT

Příklad 3: Následující dotaz SELECT nahradí podřetězec 'Výukové programy' novým slovem 'Články' v daném původním řetězci:

 SELECT REPLACE( 'JavaTpoint provides various Tutorials.', 'Tutorials', 'Articles') AS JavaTpoint_Sentence; 

Výstup:

JavaTpoint_Sentence
JAVATPOINT poskytuje různé články.

Příklad 4: Následující dotaz SELECT nahradí symbol z původního řetězce novým symbolem:

 SELECT REPLACE( '####98221545###', '#', '$') AS Replace_Symbol ; 

Výstup:

Nahradit_symbol
$$$221545$$

Příklad 5: Následující dotaz SELECT nahradí rok v původním řetězci:

 SELECT REPLACE( '2021JavaTpoint2021', '2021', '2022'); 

Výstup:

 2022JavaTpoint2022 

Příklad 6: Tento příklad používá funkci REPLACE s tabulkou v jazyce Structured Query Language.

V tomto příkladu musíme vytvořit novou SQL tabulku, jejímž prostřednictvím budeme provádět funkci REPLACE() na sloupcích. Syntaxe pro vytvoření nové tabulky v databázi SQL je následující:

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

Následující příkaz CREATE vytvoří Student_Marks stůl:

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

Níže uvedené dotazy INSERT vkládají záznamy fakult vysoké školy do Student_Marks stůl:

obrázek jako pozadí v css
 INSERT INTO Student_Marks (Student_ID, Student_First_Name, Student_Middle_Name, Student_Last_Name, Student_Class, Student_City, Student_State, Student_Marks) VALUES (4001, Aman, Roy, Sharma, 4, Chandigarh, Punjab, 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, Vishal, Gurr, Sharma, 8, Murthal, Haryana, 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, Gupta, 6, Ghaziabad, Uttar Pradesh, 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, Yash, Chopra, Singhania, 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, Vinay, 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, Manoj, singhania, Gupta, 5, Ghaziabad, Uttar Pradesh, 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, Ram, Raheem, Gupta, 9, Lucknow, Uttar Pradesh, 89); 

Následující příkaz SELECT zobrazí vložené záznamy výše Student_Marks stůl:

 SELECT * FROM Student_Marks; 

Student_Id Student_First_Jméno Student_Middle_Name Student_Last_Jméno Student_Class Student_City Student_Stát Student_Marks
4001 Bezpečný Royi Sharma 4 Čandígarh Paňdžáb 88
4002 Vishal Gurr Sharma 8 Murthal Haryana 95
4007 Raj Singhania Gupta 6 Ghaziabad Uttarpradéš 91
4004 Yash Chopra Singhania 9 Jaipur Rádžasthán 85
4011 Vinay Sharma Royi 8 Čandígarh Paňdžáb 94
4006 Manoj Singhania Gupta 5 Ghaziabad Uttarpradéš 83
4010 RAM Raheem Gupta 9 Lucknow Uttarpradéš 89

Dotaz 1: Následující dotaz SELECT používá funkci REPLACE se sloupcem Student_Last_Name ve výše uvedené tabulce Student_Marks:

 SELECT Student_Last_Name, REPLACE(Student_Last_Name, 'a', 'r') AS REPLACE_a_r FROM Student_Marks; 

Tento příkaz SQL nahrazuje všechny výskyty 'a' 'r' v příjmení každého studenta:

Výstup:

Student_Last_Jméno Nahradit_a_r
Sharma Shrrmr
Sharma Shrrmr
Gupta Guptr
Singhania Sinhrnir
Royi Royi
Gupta Guptr
Gupta Guptr

Dotaz 2: Následující dotaz SELECT používá funkci REPLACE se sloupcem Student_City a Student_State těch studentů, jejichž Student_Id je větší než 4002 ve výše uvedené tabulce Student_Marks:

 SELECT Student_Id, REPLACE(Student_City, 'Chandigarh', 'Munnar'), REPLACE(Student_State, 'Punjab', 'Kerala ) FROM Student_Marks WHERE Student_Id >4002; 

Tento příkaz SQL nahrazuje město Chandigarh a stát Paňdžáb těch studentů, jejichž Student_ID je větší než 4002.

Výstup:


Student_Id REPLACE(Student_City, 'Chandigarh', 'Munnar') REPLACE(Student_State, 'Paňdžáb', 'Kerala )
4007 Ghaziabad Uttarpradéš
4004 Jaipur Rádžasthán
4011 Munnar Kerala
4006 Ghaziabad Uttarpradéš
4010 Lucknow Uttarpradéš