構造化照会言語のこの文字列関数は、元の文字列内のそれらの文字の出現をすべて、指定された新しい文字または部分文字列に置き換えます。この関数は、列の値も新しい値に置き換えます。
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 | ラクナウ | ウッタル・プラデーシュ州 |