logo

Funkcia REPLACE v SQL

Táto reťazcová funkcia jazyka Structured Query Language nahrádza všetky výskyty týchto znakov v pôvodnom reťazci daným novým znakom alebo podreťazcom. Táto funkcia tiež nahradí hodnotu stĺpca novou hodnotou.

reťazec v poli v c

Syntax funkcie REPLACE reťazca

Syntax 1: Táto syntax používa funkciu REPLACE s názvom stĺpca tabuľky SQL:

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

V syntaxi musíme zadať názov toho stĺpca, ktorého hodnoty chceme nahradiť.

Syntax 2: Táto syntax používa funkciu REPLACE s reťazcom:

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

Syntax 3: Táto syntax používa funkciu REPLACE s individuálnym znakom:

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

Príklady funkcie REPLACE String

Príklad 1: Nasledujúci dotaz SELECT nahrádza znak 'R' znakom 'P' v pôvodnom reťazci:

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

Výkon:

Názov webovej stránky
JAVATPOINT

Príklad 2: Nasledujúci dotaz SELECT nahradí všetky výskyty znaku „S“ novým znakom „T“ v pôvodnom reťazci:

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

Výkon:

Názov webovej stránky
JAVATPOINT

Príklad 3: Nasledujúci SELECT dotaz nahradí podreťazec „Výukové programy“ novým slovom „Články“ v danom pôvodnom reťazci:

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

Výkon:

JavaTpoint_Sentence
JAVATPOINT poskytuje rôzne články.

Príklad 4: Nasledujúci dotaz SELECT nahradí symbol z pôvodného reťazca novým symbolom:

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

Výkon:

Nahradiť_symbol
$$$221545$$

Príklad 5: Nasledujúci dotaz SELECT nahradí rok v pôvodnom reťazci:

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

Výkon:

 2022JavaTpoint2022 

Príklad 6: Tento príklad používa funkciu REPLACE s tabuľkou v jazyku Structured Query Language.

V tomto príklade musíme vytvoriť novú SQL tabuľku, prostredníctvom ktorej vykonáme funkciu REPLACE() na stĺpcoch. Syntax na vytvorenie novej tabuľky v databáze SQL je nasledovná:

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

Nasledujúci príkaz CREATE vytvorí Študent_Marks tabuľka:

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

Dotazy INSERT nižšie vkladajú záznamy fakúlt vysokých škôl do Študent_Marks tabuľka:

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

Nasledujúci príkaz SELECT zobrazí vložené záznamy vyššie Študent_Marks tabuľka:

slučka java while
 SELECT * FROM Student_Marks; 

Študentská karta Meno_študenta Stredné_meno študenta Študent_Priezvisko Študent_trieda Študentské_mesto Študent_Štát Študent_Marks
4001 Bezpečný Roy Sharma 4 Čandígarh Pandžáb 88
4002 Vishal Gurr Sharma 8 Murthal Haryana 95
4007 Raj Singhania Gupta 6 Ghaziabad Uttarpradéš 91
4004 Yash Chopra Singhania 9 Jaipur Rajasthan 85
4011 Vinay Sharma Roy 8 Čandígarh Pandžáb 94
4006 Manoj Singhania Gupta 5 Ghaziabad Uttarpradéš 83
4010 Ram Raheem Gupta 9 Lucknow Uttarpradéš 89

Dopyt 1: Nasledujúci SELECT dotaz používa funkciu REPLACE so stĺpcom Student_Last_Name z vyššie uvedenej tabuľky Student_Marks:

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

Tento príkaz SQL nahrádza všetky výskyty „a“ ​​za „r“ v priezvisku každého študenta:

Výkon:

Študent_Priezvisko Nahradiť_a_r
Sharma Shrrmr
Sharma Shrrmr
Gupta Guptr
Singhania Sinhrnir
Roy Roy
Gupta Guptr
Gupta Guptr

Dopyt 2: Nasledujúci dotaz SELECT používa funkciu REPLACE so stĺpcami Student_City a Student_State tých študentov, ktorých Student_Id je väčšie ako 4002 v tabuľke Student_Marks vyššie:

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

Tento príkaz SQL nahrádza mesto Chandigarh a štát Pandžáb tých študentov, ktorých Student_ID je viac ako 4002.

Výkon:


Študentská karta REPLACE(Student_City, 'Chandigarh', 'Munnar') REPLACE(Štát_študenta, 'Pandžáb', 'Kerala )
4007 Ghaziabad Uttarpradéš
4004 Jaipur Rajasthan
4011 Munnar Kerala
4006 Ghaziabad Uttarpradéš
4010 Lucknow Uttarpradéš