📜  CHARINDEX()函数SQL Server

📅  最后修改于: 2022-05-13 01:55:14.361000             🧑  作者: Mango

CHARINDEX()函数SQL Server

CHARINDEX() :
SQL Server 中的此函数有助于返回子字符串在给定字符串中的位置。在此函数中执行的搜索不区分大小写。

句法 :

CHARINDEX(substring, string, [starting_position]

参数 :
该函数接受 3 个参数。

  1. 子串 –
    我们正在搜索的子字符串。它的限制为 8, 000 个字符。
  2. 字符串–
    进行搜索的字符串。
  3. 起始位置 -
    进行搜索的位置。它是一个可选参数。

回报:

  • 该函数将返回给定字符串中子字符串的位置。
  • 如果在字符串中未找到子字符串,则该函数将返回 0。

适用于以下版本:

  • SQL Server 2017
  • SQL Server 2016
  • SQL Server 2014
  • SQL Server 2012
  • SQL Server 2008 R2
  • SQL Server 2008
  • SQL Server 2005

示例-1:
使用 CHARINDEX()函数搜索字符。

SELECT CHARINDEX('k', 'GeeksforGeeks') 
As Found ;

输出 :

Found
4

示例 2 :
使用 CHARINDEX()函数搜索子字符串。

SELECT CHARINDEX('fully', 'Life is a journey so live it fully') 
As Found ;

输出 :

Found
30

示例 3 :
如果子字符串与给定的字符串不匹配。

SELECT CHARINDEX
('python', 'Geeks for geeks is a well known computer science website') 
As Found ;

输出 :

Found
0

示例 4:
在 CHARINDEX()函数中使用“starting_position”参数。

SELECT CHARINDEX
('for', 'Love for all, Hate for none', 10) 
As Found ;

输出 :

Found
20

示例 5:
显示 CHARINDEX()函数不区分大小写。

SELECT  
CHARINDEX('Bear', 'Bob likes Bear, beer likes bob') 
As Found1,
CHARINDEX('bear', 'Bob likes Bear, beer likes bob') 
As Found2 ;

输出 :

Found1Found2
1111

示例 6 :
使用 COLLATE 子句使函数区分大小写。

SELECT CHARINDEX
('A', 'There is always a need to Develop' COLLATE Latin1_General_CS_AS) 
As Found;

输出 :
该函数现在遵循区分大小写的搜索,并且由于它不包含“A”,因此该函数将返回 0。

Found
0