SQL 中的 INSTR 函数

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

Structured Query Language 的这个字符串函数显示指定子字符串或模式在原始字符串中的第一个位置。

INSTR 字符串函数语法

语法1:此语法使用SQL表列的INSTR函数

在此语法中,我们必须指定要对其执行INSTR函数的列名。

语法2:此语法使用字符集(字符串)的INSTR函数

语法3:此语法使用单个字符的INSTR函数

在此语法中,我们必须指定要在字符串中查找其位置的单个字符。

INSTR 字符串函数示例

示例1:以下SELECT查询在JAVATPOINT字符串中查找字符“P”的位置

输出

INSTR_P_Position
6

示例2:以下SELECT查询使用INSTR字符串函数显示子字符串在原始字符串中的位置

输出

INSTR_.com12_Position
7

示例3:以下SELECT查询显示“CAPITAL OF INDIA”字符串在原始字符串中的位置

输出

INSTR_Substring_Position
18

示例4:以下SELECT查询从指定字符串中删除给定的符号

SELECT INSTR( '##@@98221545#@#', '@') AS INSTR_@_Position;

输出

INSTR_@_Position
3

示例5:以下SELECT查询从指定字符串中删除给定的数字集

输出

INSTR_2021_Position
1

示例6:此示例将INSTR函数与SQL表一起使用

要理解带表的INSTR函数,我们首先需要使用CREATE TABLE语句创建一个SQL表。

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

以下CREATE语句创建了Teacher_Info

以下INSERT查询将学院教师的记录插入Teacher_Info表中

以下SELECT语句显示上述Teacher_Info表的已插入记录


Teacher_IdTeacher_First_NameTeacher_Last_NameTeacher_Dept_IdTeacher_AddressTeacher_CityTeacher_Salary
1001ArushSharma4001Aman Vihar德里20000
1002BulbulRoy4002Nirman Vihar德里38000
1004SaurabhRoy4001Sector 128孟买45000
1005ShivaniSinghania4001Vivek Vihar加尔各答42000
1006AvinashSharma4002Sarvodya Calony德里28000
1007ShyamBesas4003Krishna Nagar勒克瑙35000

查询1:以下SELECT查询将INSTR函数与上述Teacher_Info表的Teacher_Address列一起使用

此SQL SELECT语句显示每个教师地址中“Vihar”字符串的位置。

输出

Teacher_AddressINSTR_Vihar_Position
Aman Vihar6
Nirman Vihar8
Sector 1280
Vivek Vihar7
Sarvodya Calony0
Krishna Nagar0

查询2:以下SELECT查询将INSTR函数与Teacher_Info表的Teacher_First_Name和Teacher_Last_Name列一起使用

此SQL语句显示字符a在每个教师的名字中的位置,以及字符h在每个教师的姓氏中的位置。

输出

Teacher_First_Nameinstr_a_PositionTeacher_Last_Nameinstr_h_Position
Arush1Sharma2
Bulbul0Roy0
Saurabh2Roy0
Shivani5Singhania5
Avinash1Sharma2
Shyam4Besas0

下一个主题SQL中的LEFT函数