SQL 中的 REPLACE 函数

2024 年 8 月 29 日 | 4 分钟阅读

Structured Query Language (SQL) 中的这个字符串函数可以将原始字符串中的所有字符的出现替换为给定的新字符或子字符串。此函数还可以用新值替换列的值。

REPLACE 字符串函数语法

语法 1:此语法使用 SQL 表的列名来使用 REPLACE 函数

在此语法中,我们必须指定要替换其值的列的名称。

语法 2:此语法使用字符串来使用 REPLACE 函数

语法 3:此语法使用单个字符来使用 REPLACE 函数

REPLACE 字符串函数示例

示例 1:以下 SELECT 查询将原始字符串中的字符 'R' 替换为 'P'

输出

Website_Name
JAVATPOINT

示例 2:以下 SELECT 查询将原始字符串中的所有字符 'S' 替换为新字符 'T'

输出

Website_Name
JAVATPOINT

示例 3:以下 SELECT 查询将给定原始字符串中的子字符串 'Tutorials' 替换为新单词 'Articles'

输出

JavaTpoint_Sentence
JAVATPOINT 提供各种文章。

示例 4:以下 SELECT 查询将原始字符串中的符号替换为新符号

输出

Replace_Symbol
$$$$98221545$$

示例 5:以下 SELECT 查询替换原始字符串中的年份

输出

2022JavaTpoint2022   

示例 6:此示例在 Structured Query Language 中使用带有表的 REPLACE 函数。

在此示例中,我们必须创建一个新的 SQL 表,通过该表我们将对列执行 REPLACE() 函数。在 SQL 数据库中创建新表的语法如下:

以下CREATE语句创建了Student_Marks

以下INSERT查询将学院记录插入Student_Marks表中

以下SELECT语句显示了上面Student_Marks表的已插入记录


Student_IdStudent_First_NameStudent_Middle_NameStudent_Last_Name学生班级Student_CityStudent_State学生分数
4001阿曼RoySharma4昌迪加尔旁遮普邦88
4002VishalGurrSharma8Murthal哈里亚纳邦95
4007Rajsinghania古普塔6Ghaziabad北方邦91
4004YashChopraSinghania9斋浦尔拉贾斯坦邦85
4011VinaySharmaRoy8昌迪加尔旁遮普邦94
4006马诺吉Singhania古普塔5Ghaziabad北方邦83
4010RamRaheem古普塔9勒克瑙北方邦89

查询 1:以下 SELECT 查询在上面的 Student_Marks 表的 Student_Last_Name 列上使用 REPLACE 函数

此 SQL 语句将替换每个学生姓氏中所有出现的 'a' 为 'r'

输出

Student_Last_NameReplace_a_r
SharmaShrrmr
SharmaShrrmr
古普塔Guptr
SinghaniaSinghrnir
RoyRoy
古普塔Guptr
古普塔Guptr

查询 2:以下 SELECT 查询在上面的 Student_Marks 表中,针对 Student_Id 大于 4002 的学生的 Student_City 和 Student_State 列上使用 REPLACE 函数

此 SQL 语句将替换 Student_ID 大于 4002 的学生的 Chandigarh 市和 Punjab 州。

输出


Student_IdREPLACE(Student_City, 'Chandigarh', 'Munnar')REPLACE(Student_State, 'Punjab', 'Kerala )
4007Ghaziabad北方邦
4004斋浦尔拉贾斯坦邦
4011Munnar喀拉拉邦
4006Ghaziabad北方邦
4010勒克瑙北方邦