logo

REPLACE Funkcija v SQL

Ta nizovna funkcija Structured Query Language nadomesti vse pojavitve teh znakov v izvirnem nizu z danim novim znakom ali podnizom. Ta funkcija tudi zamenja vrednost stolpca z novo vrednostjo.

kopica in kopica sort

Sintaksa nizovne funkcije REPLACE

Sintaksa 1: Ta sintaksa uporablja funkcijo REPLACE z imenom stolpca tabele SQL:

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

V sintaksi moramo določiti ime tistega stolpca, katerega vrednosti želimo zamenjati.

Sintaksa 2: Ta sintaksa uporablja funkcijo REPLACE z nizom:

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

Sintaksa 3: Ta sintaksa uporablja funkcijo REPLACE s posameznim znakom:

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

Primeri funkcije REPLACE String

Primer 1: Naslednja poizvedba SELECT zamenja znak 'R' s 'P' v prvotnem nizu:

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

Izhod:

Website_Name
JAVATPOINT

Primer 2: Naslednja poizvedba SELECT zamenja vse pojavitve znaka 'S' z novim znakom 'T' v izvirnem nizu:

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

Izhod:

Website_Name
JAVATPOINT

Primer 3: Naslednja poizvedba SELECT nadomesti podniz 'Vadnice' z novo besedo 'Članki' v danem izvirnem nizu:

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

Izhod:

JavaTpoint_Sentence
JAVATPOINT ponuja različne članke.

Primer 4: Naslednja poizvedba SELECT zamenja simbol iz izvirnega niza z novim simbolom:

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

Izhod:

Zamenjaj_simbol
$$$221545$$

Primer 5: Naslednja poizvedba SELECT zamenja leto v izvirnem nizu:

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

Izhod:

niz v Javi
 2022JavaTpoint2022 

Primer 6: Ta primer uporablja funkcijo REPLACE s tabelo v jeziku strukturiranih poizvedb.

V tem primeru moramo ustvariti novo tabelo SQL, prek katere bomo izvajali funkcijo REPLACE() na stolpcih. Sintaksa za ustvarjanje nove tabele v bazi podatkov SQL je naslednja:

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

Naslednji stavek CREATE ustvari Študentske_ocene tabela:

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

Spodnje poizvedbe INSERT vstavijo zapise visokošolskih fakultet v Študentske_ocene tabela:

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

Naslednji stavek SELECT prikaže vstavljene zapise zgoraj navedenega Študentske_ocene tabela:

 SELECT * FROM Student_Marks; 

Študent_Id Študent_First_Name Srednje_ime_študenta Študent_Priimek Študentski_razred Študentsko_mesto Študentska_država Študentske_ocene
4001 Varno Roy Sharma 4 Chandigarh Punjab 88
4002 Vishal Gurr Sharma 8 Murthal Haryana 95
4007 Raj Singhania Gupta 6 Ghaziabad Utar Pradeš 91
4004 Jaš Chopra Singhania 9 Jaipur Rajasthan 85
4011 Vinay Sharma Roy 8 Chandigarh Punjab 94
4006 Manoj Singhania Gupta 5 Ghaziabad Utar Pradeš 83
4010 Oven Raheem Gupta 9 Lucknow Utar Pradeš 89

Poizvedba 1: Naslednja poizvedba SELECT uporablja funkcijo REPLACE s stolpcem Student_Last_Name zgornje tabele Student_Marks:

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

Ta stavek SQL nadomesti vse pojavitve 'a' z 'r' v priimku vsakega študenta:

Izhod:

Študent_Priimek Zamenjaj_a_r
Sharma Shrrmr
Sharma Shrrmr
Gupta Guptr
Singhania Sinhrnir
Roy Roy
Gupta Guptr
Gupta Guptr

Poizvedba 2: Naslednja poizvedba SELECT uporablja funkcijo REPLACE s stolpcem Student_City in Student_State tistih študentov, katerih Student_Id je večji od 4002 v zgornji tabeli Student_Marks:

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

Ta stavek SQL nadomesti mesto Chandigarh in državo Punjab tistih študentov, katerih Student_ID je večji od 4002.

Izhod:


Študent_Id REPLACE(Student_City, 'Chandigarh', 'Munnar') REPLACE(Študentska_država, 'Punjab', 'Kerala )
4007 Ghaziabad Utar Pradeš
4004 Jaipur Rajasthan
4011 Munnar Kerala
4006 Ghaziabad Utar Pradeš
4010 Lucknow Utar Pradeš