logo

SQLのREPLACE関数

構造化照会言語のこの文字列関数は、元の文字列内のそれらの文字の出現をすべて、指定された新しい文字または部分文字列に置き換えます。この関数は、列の値も新しい値に置き換えます。

Cの乱数生成器

REPLACE文字列関数の構文

構文 1: この構文では、SQL テーブルの列名を指定した REPLACE 関数を使用します。

 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文字列関数の例

例 1: 次の SELECT クエリは、元の文字列内の文字「R」を「P」に置き換えます。

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

出力:

ウェブサイト名
ジャバトポイント

例 2: 次の SELECT クエリは、元の文字列内の文字 'S' のすべての出現を新しい文字 'T' に置き換えます。

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

出力:

ウェブサイト名
ジャバトポイント

例 3: 次の SELECT クエリは、指定された元の文字列内の部分文字列「Tutorials」を新しい単語「Articles」に置き換えます。

 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 関数を使用します。

この例では、列に対して REPLACE() 関数を実行する新しい SQL テーブルを作成する必要があります。 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 ステートメントは、 Student_Marks テーブル:

 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 クエリは、大学の学部のレコードを Student_Marks テーブル:

 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 ステートメントは、上記の挿入されたレコードを表示します。 Student_Marks テーブル:

 SELECT * FROM Student_Marks; 

学生証 Student_First_Name Student_Middle_Name Student_Last_Name 学生_クラス 学生_都市 学生_州 Student_Marks
4001 安全 ロイ シャルマ 4 チャンディーガル パンジャーブ 88
4002 ヴィシャル ガー シャルマ 8 ムルサル ハリヤナ州 95
4007 ラージ シンガニア グプタ 6 ガーズィヤーバード ウッタル・プラデーシュ州 91
4004 ヤシュ チョプラ シンガニア 9 ジャイプール ラジャスタン州 85
4011 ビネ シャルマ ロイ 8 チャンディーガル パンジャーブ 94
4006 マノージ シンガニア グプタ 5 ガーズィヤーバード ウッタル・プラデーシュ州 83
4010 ラム ラヒーム グプタ 9 ラクナウ ウッタル・プラデーシュ州 89

クエリ 1: 次の SELECT クエリでは、上記の Student_Marks テーブルの Student_Last_Name 列で REPLACE 関数を使用します。

文字列Javaへのlong
 SELECT Student_Last_Name, REPLACE(Student_Last_Name, 'a', 'r') AS REPLACE_a_r FROM Student_Marks; 

次の SQL ステートメントは、各学生の姓に出現するすべての「a」を「r」に置き換えます。

出力:

Student_Last_Name 置換え
シャルマ シュルムル
シャルマ シュルムル
グプタ グプトル
シンガニア シンハルニル
ロイ ロイ
グプタ グプトル
グプタ グプトル

クエリ 2: 次の SELECT クエリでは、上記の Student_Marks テーブルの Student_Id が 4002 より大きい学生の Student_City 列と Student_State 列で REPLACE 関数を使用します。

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

この SQL ステートメントは、Student_ID が 4002 を超える学生のチャンディーガル市とパンジャブ州を置き換えます。

出力:


学生証 REPLACE(Student_City, 'チャンディーガル', 'ムンナール') REPLACE(学生の州, 'パンジャブ州', 'ケーララ州)
4007 ガーズィヤーバード ウッタル・プラデーシュ州
4004 ジャイプール ラジャスタン州
4011 ムンナル ケーララ州
4006 ガーズィヤーバード ウッタル・プラデーシュ州
4010 ラクナウ ウッタル・プラデーシュ州