本教程将学习如何使用SQL Server CHARINDEX ()函数在字符串中查找子字符串。
SQL Server CHARINDEX ()函数概述
SQL Server CHARINDEX ()函数从指定的位置开始在字符串中搜索子字符串。 返回在搜索到的字符串中找到的子字符串的位置,如果找不到子字符串,则返回零。 需要注意的是,返回的开始位置从1开始,而不是从0开始。
CHARINDEX ) )函数的语法如下:
charindex(substring [,string (,start_location] ) ) )
在上面的语法中,
substring -是要搜索的子字符串。 长度限制为8,000个字符。
string -可以是文本字符串、表达式或列。 这是要搜索的字符串。
start_location是搜索开始的位置。 start_location是整数、大整数或计算结果为这些数据类型的值的表达式。
start_location参数是可选的。 如果未指定,则为零或负值将从字符串的开头开始搜索。
CHARINDEX ) )函数可以根据指定的排序规则执行区分大小写的搜索。
SQL Server CHARINDEX ()函数示例
接下来,让我们看几个使用CHARINDEX ()函数的示例。
使用CHARINDEX ()执行单个搜索
以下示例使用CHARINDEX () )函数对字符中的' SQL Server CHARINDEX '执行字符串' SQL的简单搜索。
选择
charindex(SQL,) SQL Server CHARINDEX ) )位置;
执行以上查询语句将产生以下结果:
位置
------------
1
(1 row affected )
CHARINDEX (使用函数执行不区分大小写的搜索
以下语句在字符串' SQL Server CHARINDEX '中执行不区分大小写的搜索字符串' SERVER '。
选择
CHARINDEX (
服务器,
' SQL Server CHARINDEX '
)位置;
执行以上查询语句将产生以下结果:
位置
------------
5
(1 row affected )
CHARINDEX (使用函数执行区分大小写的搜索
此示例说明如何在' SQL Server CHARINDEX '中区分搜索字符串' SERVE '的大小写。
选择
CHARINDEX (
服务器,
' SQL Server CHARINDEX '
COLLATE Latin1_General_CS_AS
)位置;
执行以上查询语句将产生以下结果:
位置
------------
0
(1 row affected )
CHARINDEX ) )函数查找不存在的子字符串
此示例说明如何在字符串' This is a haystack '中查找子字符串:'needle '。
选择
Charindex(is ),) This is a my sister ),5 ) start_at_fifth,
Charindex(is ),) This is a my sister ),10 ) start_at_tenth;
执行以上查询语句将产生以下结果:
start_at_fifth start_at_tenth
请参见------------------------------------------------------- -
6 15
(1 row affected )
本教程演示了如何使用SQL Server CHARINDEX ()函数在指定位置查找子字符串并返回子字符串的位置。
我给你奖励
纠错/补充
藏品
添加QQ群、易百教程官方技术学习群
注意:建议各位候选人按照自己的技术方向添加小组。 建议在同一QQ上最多添加三个组。