Tutorialsteacher

关注我们

文章
  • C#
  • C# 面向对象编程
  • ASP.NET Core
  • ASP.NET MVC
  • LINQ
  • 控制反转 (IoC)
  • Web API
  • JavaScript
  • TypeScript
  • jQuery
  • Angular 11
  • Node.js
  • D3.js
  • Sass
  • Python
  • Go lang
  • HTTPS (SSL)
  • 正则表达式
  • SQL
  • SQL Server
  • PostgreSQL
  • MongoDB
  • SQL Server - 入门
  • 安装 SQL Server
  • SQL Server Management Studio
  • SQL Server - Windows 身份验证
  • SQL Server - 身份验证
  • SQL Server - 创建新用户
  • SQL Server - 授予/撤销用户权限
  • SQL Server - 数据类型
  • SQL Server - 命名约定
  • SQL Server - 创建数据库
  • SQL Server - 创建表
  • 添加列
  • 标识列
  • 重命名列、表
  • 删除列
  • SQL Server - 架构
  • SQL Server - 表关系
  • SQL Server - 主键
  • 修改/删除主键
  • SQL Server - 外键
  • 修改/删除外键
  • SQL Server - 检查约束
  • SQL Server - 唯一约束
  • SQL Server - 视图
  • 修改/删除视图
  • SQL Server - 函数
  • SQL Server - 存储过程
  • 存储过程参数
  • SQL Server - 索引
  • 非聚集索引
  • 修改/删除索引
  • SQL Server - 触发器
  • DDL 触发器
  • LOGON 触发器
  • 启用/禁用触发器
  • 修改/删除触发器
  • SQL Server - 序列
  • SQL Server - 同义词
  • SQL Server - IF ELSE 语句
  • SQL Server - 循环
  • SQL Server - 插入数据
  • SQL Server - 更新数据
  • SQL Server - 删除数据
  • SQL Server - SELECT 查询
  • WHERE 子句
  • GROUP BY 子句
  • HAVING 子句
  • ORDER BY 子句
  • SQL Server - 内连接
  • 左连接
  • 右连接
  • 全连接
  • 自连接
  • 动态 SQL
  • 内置函数
Entity Framework Extensions - 提升 EF Core 9
  批量插入
  批量删除
  批量更新
  批量合并

SQL Server CHARINDEX() 函数:返回子字符串的起始索引

CHARINDEX() 函数返回子字符串或字符在另一个字符串中的起始位置。如果未找到子字符串,则返回 0。

CHARINDEX(substring, string [, start_location])

参数

  1. 子字符串:要在另一个字符串中搜索的字符串或字符值。
  2. 字符串:要搜索子字符串参数的字符串值。
  3. 起始位置:可选。指示搜索应开始的起始位置的整数值。索引从 1 开始。如果未指定任何内容,则从头开始搜索。

返回值

返回一个整数,指示索引位置。

  • CHARINDEX() 函数不能与 image、ntext 或 text 数据类型一起使用。
  • 如果子字符串或字符串为 NULL 值,CHARINDEX 返回 NULL。
  • 如果 CHARINDEX() 在字符串中找不到子字符串,则返回 0。
  • 返回值是子字符串从字符串开头的位置,而不是从起始位置开始的位置。

示例 1

以下示例在字符串“Hello World”中搜索“e”并返回其索引位置。

示例:CHARINDEX()
SELECT CHARINDEX('e', 'Hello world')

示例 2

CHARINDEX() 函数不是区分大小写的搜索。如果在字符串“Hello world”中搜索小写字符“h”,它返回 1;即使字符“H”在字符串中是大写。

示例:CHARINDEX()
SELECT CHARINDEX('h' , 'Hello World')

以下示例在字符串表达式“Have a nice day!”中搜索单词“nice”并返回其索引位置。

示例:CHARINDEX()
Select CHARINDEX('nice', 'Have a nice day!')

上述返回 8。这是单词“nice”在字符串中开始的位置。

示例 3

在下面的示例中,我们指定了搜索应开始的位置。

示例:CHARINDEX()
SELECT CHARINDEX('nice', 'Have a nice day!' , 5) AS Result

示例 4

如果您尝试查找字符串中不存在的表达式,则返回 0。

示例:CHARINDEX()
SELECT CHARINDEX('Good', 'Have a nice day!') AS Result

示例 5

您可以使用 CHARINDEX() 函数执行区分大小写的搜索,如下所示。

如果您在字符串表达式中搜索大写“N”的单词“Nice”,则返回 0。

示例:CHARINDEX()
SELECT CHARINDEX('Nice', 'Have a nice day!' COLLATE Latin1_General_CS_AS) AS Result

注意:添加 COLLATE Latin1_General_CS_AS 使搜索区分大小写。

SQL Server 安装的默认排序规则 SQL_Latin1_General_CP1_CI_AS 不区分大小写。

如果您将子字符串中的字母“n”更改为小写,则 CHARINDEX() 返回 8,这是单词“nice”在字符串“Have a nice day!”中的起始位置。

示例:CHARINDEX()
SELECT CHARINDEX('nice', 'Have a nice day!' COLLATE Latin1_General_CS_AS) AS Result
TUTORIALSTEACHER.COM

TutorialsTeacher.com 是您权威的技术教程来源,旨在通过循序渐进的方法,指导您掌握各种网络和其他技术。

我们的内容可帮助各个级别的学习者轻松快速地学习技术。访问此平台即表示您已阅读并同意遵守我们的使用条款和隐私政策,这些条款和政策旨在保护您的体验和隐私权。

[email protected]

关于我们使用条款隐私政策
copywrite-symbol

2024 TutorialsTeacher.com. (v 1.2) 版权所有。