logo

Функция REPLACE в SQL

Тази функция за низове на Structured Query Language замества всички срещания на тези знаци в оригиналния низ с даден нов знак или подниз. Тази функция също заменя стойността на колоната с новата стойност.

полиморфизъм

Синтаксис на низовата функция REPLACE

Синтаксис 1: Този синтаксис използва функцията REPLACE с името на колоната на SQL таблицата:

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

В синтаксиса трябва да посочим името на тази колона, чиито стойности искаме да заменим.

Синтаксис 2: Този синтаксис използва функцията REPLACE с низ:

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

Синтаксис 3: Този синтаксис използва функцията REPLACE с отделния знак:

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

Примери за функция REPLACE String

Пример 1: Следната SELECT заявка заменя знака 'R' с 'P' в оригиналния низ:

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

Изход:

Име на уебсайт
JAVATPOINT

Пример 2: Следната SELECT заявка заменя всички срещания на символа 'S' с новия знак 'T' в оригиналния низ:

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

Изход:

Име на уебсайт
JAVATPOINT

Пример 3: Следната заявка SELECT замества подниза „Уроци“ с новата дума „Статии“ в дадения оригинален низ:

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

Изход:

JavaTpoint_Sentence
JAVATPOINT предоставя различни статии.

Пример 4: Следната заявка SELECT замества символа от оригиналния низ с нов символ:

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

Изход:

Заменете_символ
$$$221545$$

Пример 5: Следната заявка SELECT замества годината в оригиналния низ:

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

Изход:

 2022JavaTpoint2022 

Пример 6: Този пример използва функцията REPLACE с таблицата в Structured Query Language.

В този пример трябва да създадем нова SQL таблица, чрез която ще изпълним функцията REPLACE() върху колони. Синтаксисът за създаване на новата таблица в SQL базата данни е както следва:

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

Следният оператор CREATE създава Студентски_оценки маса:

случаен без генератор в java
 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 ); 

Заявките INSERT по-долу вмъкват записите на факултетите на колежа в Студентски_оценки маса:

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

Следният оператор SELECT показва вмъкнатите записи от горното Студентски_оценки маса:

 SELECT * FROM Student_Marks; 

Student_Id Студент_Име Бащино_име на ученик Фамилия_ученик Студентски_клас Студентски_град Student_State Студентски_оценки
4001 безопасно Рой Шарма 4 Чандигарх Пенджаб 88
4002 Вишал Гър Шарма 8 Муртал Харяна 95
4007 Радж Сингхания Гупта 6 Газиабад Утар Прадеш 91
4004 Яш Чопра Сингхания 9 Джайпур Раджастан 85
4011 Винай Шарма Рой 8 Чандигарх Пенджаб 94
4006 Манодж Сингхания Гупта 5 Газиабад Утар Прадеш 83
4010 Рам Рахим Гупта 9 Лакнау Утар Прадеш 89

Запитване 1: Следната заявка SELECT използва функция REPLACE с колоната Student_Last_Name на горната таблица Student_Marks:

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

Този SQL оператор замества всички срещания на 'a' с 'r' в фамилното име на всеки ученик:

Изход:

Фамилия_ученик Замени_a_r
Шарма Шррмр
Шарма Шррмр
Гупта Guptr
Сингхания Синхрнир
Рой Рой
Гупта Guptr
Гупта Guptr

Заявка 2: Следната заявка SELECT използва функцията REPLACE с колоната Student_City и Student_State на онези студенти, чийто Student_Id е по-голям от 4002 в горната таблица Student_Marks:

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

Този SQL оператор замества града Чандигарх и щата Пенджаб на тези студенти, чийто Student_ID е повече от 4002.

Изход:


Student_Id REPLACE(Студентски_град, 'Чандигарх', 'Мунар') REPLACE(Student_State, 'Пенджаб', 'Керала )
4007 Газиабад Утар Прадеш
4004 Джайпур Раджастан
4011 Мунар Керала
4006 Газиабад Утар Прадеш
4010 Лакнау Утар Прадеш