SQL Server CHARINDEX() 函数

17 Mar 2025 | 4 分钟阅读

SQL Server 中的 CHARINDEX 函数对于处理和操作字符串数据非常有用。它最常用于**查找子字符串或表达式在字符串中的起始位置。** 简单来说,我们可以说此函数用于在字符串中从指定位置搜索指定的字符或字符。一个字符可以在字符串中出现多个位置。此函数将返回字符串中第一个字符的位置,并忽略其余匹配字符的位置。

让我们使用以下示例来理解此函数的概念。

招聘公司的在线门户是一个很好的例子来解释其概念。招聘公司收集每个学生或客户的详细信息,并将其注册以获得安置帮助。假设公司老板需要查看每个员工的电子邮件地址格式是否正确;在这种情况下,他们可以使用 CHARINDEX() 函数来实现这一点。例如,他们可以验证在输入的邮件 ID 中是否存在字符“@”。

语法

以下是说明 SQL Server 中 CHARINDEX 函数的基本语法

我们可以在 CHARINDEX 函数中看到以下参数

expression_to_find:这是一个必需的参数,用于定义我们要在另一个字符串中查找的字符或字符串。

expression_to_search:这是一个必需的参数,指示我们要搜索子字符串的字符串或表达式。

starting_position:这是一个可选参数,它接受一个整数值以指定搜索字符串的起始位置。如果我们想在给定的字符串中搜索子字符串,我们需要指定一个起始位置。但是,如果我们不为此参数指定值,它将默认从索引位置 0 开始搜索。如果我们使用零或负值指定此参数,此函数也将从起始位置开始搜索字符串。

返回值

  • 此函数返回子字符串在给定表达式或字符串中的位置。
  • 如果子字符串未包含在字符串中,则该函数将返回 0。

支持的版本

CHARINDEX 函数将适用于以下 SQL Server 版本

SQL Server 2019、SQL Server 2018、SQL Server 2017、SQL Server 2016、SQL Server 2014、SQL Server 2012、SQL Server 2008 R2、SQL Server 2008、SQL Server 2005、Azure SQL 数据库、Azure SQL 数据仓库和并行数据仓库。

注意:CHARINDEX 函数可以执行搜索,而不考虑区分大小写或不区分大小写的字符。

CHARINDEX 函数示例

让我们了解 SQL Server 中 CHARINDEX 函数的工作原理。

1. CHARINDEX 函数用于单次搜索

下面的示例将使用 CHARINDEX 函数在给定的字符串“SQL Tutorial Javatpoint”中找到搜索字符串 **'SQL'**,并返回其位置

执行该语句将显示以下输出

SQL Server CHARINDEX() Function

2. 搜索字符串中的字符位置

此示例将给出指定 **电子邮件** 地址中 @ 字符的位置。

执行该语句将显示以下输出

SQL Server CHARINDEX() Function

3. 在字符串中执行不区分大小写的搜索

此示例将返回在指定字符串中搜索到的字符串的位置,而不考虑大小写敏感度

执行该语句将显示以下输出

SQL Server CHARINDEX() Function

4. 使用 COLLATE 子句执行区分大小写的搜索

此示例使用 COLLATE 子句显示了在搜索字符串“**SQL server Tutorial Javatpoint**”中对字符串 **'SERVER'** 的区分大小写搜索。

执行该语句将显示以下输出,因为它不包含指定字符串中的字符串“SERVER”。

SQL Server CHARINDEX() Function

5. 搜索不存在的子字符串

以下示例在字符串 **'Javatpoint is best for learning java'** 中执行子字符串 **'JavaScript'** 的搜索

执行该语句将显示以下输出

SQL Server CHARINDEX() Function

6. 搜索多个匹配的子字符串

以下示例在指定的字符串中搜索具有多个匹配的子字符串。在这里,我们想**搜索 java** 并找到它的位置。

执行该语句将返回第一个匹配的子字符串位置

SQL Server CHARINDEX() Function

7. CHARINDEX 函数从特定位置搜索

在此示例中,我们将使用 **starting_position** 参数从给定字符串的 **第十个字符** 开始搜索子字符串 **'for'**

执行该语句将显示以下输出

SQL Server CHARINDEX() Function