SQL 中的 FIND_IN_SET 函数

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

结构化查询语言中的 FIND_IN_SET 函数用于显示搜索字符串在多个字符串中的位置。

FIND_IN_SET 字符串函数语法

语法 1:此语法使用 FIND_IN_SET 函数与 SQL 表的两个或多个列名

在 Find_In_Set 语法中,我们必须指定要搜索字符串的列的名称。

语法 2:此语法使用 FIND_IN_SET 函数和字符串

语法 3:此语法使用 FIND_IN_SET 函数和单个字符

FIND_IN_SET 字符串函数的示例

示例 1:以下查询显示 'S' 字符在给定字符列表中的位置

输出

S_Findinset
6

示例 2:以下语句显示 'u' 字符在 Congratulations 字符串中的位置

SELECT FIND_IN_SET( 'u', ''C, o, n, g, r, a, t, u, l, a, t, i, o, n, s '') AS Wishes u_Findinset;

输出

S_Findinset
8

示例 3:以下 SELECT 查询在字符串列表中查找 'New' 字符串的位置

输出

NEW_Findinset
1

示例 4:此示例在结构化查询语言中使用 FIND_IN_SET 函数与表结合。

在此示例中,我们必须创建一个新的 SQL 表,通过该表我们将对列执行 FIND_IN_SET() 函数。

在 SQL 数据库中创建新表的语法如下

以下 CREATE 语句创建了 Student_Grade

以下 INSERT 查询在 Student_Grade 表中插入了学生成绩和分数记录

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


Roll_No名字姓氏First_CitySecond_CityNew_CityHindi_MarksMaths_Marks级别
10阿曼Sharma勒克瑙昌迪加尔Ghaziabad8895A2
02VishalSharma昌迪加尔GhaziabadGhaziabad9582A1
07Raj古普塔德里Ghaziabad勒克瑙9195A1
04YashSinghaniaGhaziabad德里勒克瑙8582A2
11VinayRoy德里KanpurGhaziabad9597A1
16马诺吉古普塔GhaziabadMeerut昌迪加尔9590B1
19Ram古普塔勒克瑙Ghaziabad昌迪加尔8995A2

查询 1:以下 SELECT 查询在上面的 Student_Grade 表的 First_City、Second_City、New_City 列中使用 FIND_IN_SET 函数

此 SQL 语句显示 Ghaziabad 市在表中给定三列中的位置。

输出

First_CitySecond_CityNew_CityGhaziabad_Findinset
勒克瑙昌迪加尔Ghaziabad3
昌迪加尔GhaziabadGhaziabad3
德里Ghaziabad勒克瑙2
Ghaziabad德里勒克瑙1
德里KanpurGhaziabad3
GhaziabadMeerut昌迪加尔1
勒克瑙Ghaziabad昌迪加尔2

查询 2:以下 SELECT 查询在上面的 Student_Grade 表中,针对 Roll_No 大于 2 的学生,在 Hindi_Marks 和 Maths_Marks 列中使用 FIND_IN_SET 函数

输出

Roll_NoHindi_MarksMaths_Marks95_Findinset
0791952
048582Null
1195971
1695901
1989952