logo

REPLACE függvény az SQL-ben

A Strukturált Lekérdezési Nyelvnek ez a karakterlánc-függvénye lecseréli az eredeti karakterláncban szereplő karakterek összes előfordulását az adott új karakterre vagy részkarakterláncra. Ez a függvény az oszlop értékét is lecseréli az új értékre.

latex betűtípus

A REPLACE karakterlánc függvény szintaxisa

1. szintaxis: Ez a szintaxis a REPLACE függvényt használja az SQL tábla oszlopnevével:

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

A szintaxisban meg kell adnunk annak az oszlopnak a nevét, amelynek értékeit ki szeretnénk cserélni.

2. szintaxis: Ez a szintaxis a REPLACE függvényt használja karakterlánccal:

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

3. szintaxis: Ez a szintaxis a REPLACE függvényt használja az egyedi karakterrel:

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

Példák a REPLACE String függvényre

1. példa: A következő SELECT lekérdezés az „R” karaktert „P”-re cseréli az eredeti karakterláncban:

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

Kimenet:

Webhely_név
JAVATPOINT

2. példa: A következő SELECT lekérdezés az „S” karakter minden előfordulását lecseréli az új „T” karakterre az eredeti karakterláncban:

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

Kimenet:

Webhely_név
JAVATPOINT

3. példa: A következő SELECT lekérdezés lecseréli a „Tutorials” részkarakterláncot az új „Cikkek” szóra az adott eredeti karakterláncban:

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

Kimenet:

JavaTpoint_Sentence
A JAVATPOINT különféle cikkeket kínál.

4. példa: A következő SELECT lekérdezés lecseréli az eredeti karakterlánc szimbólumát egy új szimbólumra:

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

Kimenet:

Csere_Symbol
$$$221545$$

5. példa: A következő SELECT lekérdezés lecseréli az évet az eredeti karakterláncban:

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

Kimenet:

int sztringben
 2022JavaTpoint2022 

6. példa: Ez a példa a REPLACE függvényt használja a strukturált lekérdezési nyelv táblázatával.

Ebben a példában egy új SQL táblát kell létrehoznunk, amelyen keresztül végrehajtjuk a REPLACE() függvényt az oszlopokon. Az új tábla létrehozásának szintaxisa az SQL adatbázisban a következő:

 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 következő CREATE utasítás létrehozza a Student_Marks asztal:

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

Az alábbi INSERT lekérdezések beillesztik a főiskolai karok rekordjait a Student_Marks asztal:

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

A következő SELECT utasítás a fentiek beillesztett rekordjait jeleníti meg Student_Marks asztal:

 SELECT * FROM Student_Marks; 

Diákigazolvány Tanuló_Keresztnév Tanuló_Középső_Név Tanuló_Vezetéknév Diák_osztály Diák_város Hallgató állam Student_Marks
4001 Biztonságos Roy Sharma 4 Chandigarh Pandzsáb 88
4002 Vishal Gurr Sharma 8 Murthal Haryana 95
4007 Raj Singhania Gupta 6 Ghaziabad Uttar Pradesh 91
4004 Yash Chopra Singhania 9 Jaipur Rajasthan 85
4011 Vinay Sharma Roy 8 Chandigarh Pandzsáb 94
4006 Manoj Singhania Gupta 5 Ghaziabad Uttar Pradesh 83
4010 Ram Raheem Gupta 9 Lucknow Uttar Pradesh 89

1. lekérdezés: A következő SELECT lekérdezés a REPLACE függvényt használja a fenti Student_Marks táblázat Student_Last_Name oszlopával:

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

Ez az SQL utasítás az „a” minden előfordulását „r”-re cseréli minden tanuló vezetéknevében:

Kimenet:

Tanuló_Vezetéknév Csere_a_r
Sharma Shrrmr
Sharma Shrrmr
Gupta Guptr
Singhania Sinhrnir
Roy Roy
Gupta Guptr
Gupta Guptr

2. lekérdezés: A következő SELECT lekérdezés a REPLACE függvényt használja azon tanulók Student_City és Student_State oszlopával, akiknek a Student_Id értéke nagyobb, mint 4002 a fenti Student_Marks táblázatban:

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

Ez az SQL-utasítás lecseréli Chandigarh városát és Punjab államát azoknak a diákoknak, akiknek tanulói azonosítója nagyobb, mint 4002.

Kimenet:


Diákigazolvány REPLACE(Student_City, 'Chandigarh', 'Munnar') REPLACE(Diák_állam, 'Punjab', 'Kerala )
4007 Ghaziabad Uttar Pradesh
4004 Jaipur Rajasthan
4011 Munnar Kerala
4006 Ghaziabad Uttar Pradesh
4010 Lucknow Uttar Pradesh