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 PATINDEX() 函数:搜索字符串模式

在 SQL Server 中,PATINDEX() 搜索给定表达式中模式的第一次出现,并返回其起始位置。如果未找到模式,则返回零。

PATINDEX(pattern,  input_string)

参数

  1. 模式:要查找的字符表达式。它必须以 % 字符开头和结尾。可以在模式中使用通配符,例如 %、_、[]、[^]。
  2. input_string:要在其中搜索模式的字符串。它可以是常量字符串或表列。

返回值

如果输入字符串的数据类型为 varchar(max) 或 nvarchar(max),则返回 bigint,否则返回 int。

PATINDEX() 的起始位置为 NULL。如果模式或输入字符串为 NULL,则 PATINDEX() 返回 NULL。

示例 1

以下示例在输入字符串 'Hello! Have a nice day.' 中查找 'llo'。模式应包含在 % 中。

示例:PATINDEX()
SELECT PATINDEX ('%llo%', 'Hello! Have a nice day.') AS PatternPosition

示例 2

在以下示例中,我们在 Employee 表的 Email 列中查找模式 'abc.com'。Email 列中包含此模式的所有行都返回模式的起始位置,Email 中不包含此模式的行则返回零。

示例:PATINDEX()
SELECT Email, PATINDEX('%abc.com%', EMail) AS PatternPosition FROM Employee

示例 3

以下示例在搜索模式中使用了通配符 % 和 _。

% 匹配任意长度的任意字符串,而 _ 匹配任意单个字符。

示例:PATINDEX()
SELECT PATINDEX('%ni_e%', 'Hello! Have a nice day.') AS PatternPosition

示例 4

以下示例显示了输入字符串中不存在模式的情况。

示例:PATINDEX()
SELECT PATINDEX('%world%', 'Hello! Have a nice day.') AS PatternPosition

示例 5

以下示例显示 PATINDEX() 不区分大小写。

示例:PATINDEX()
SELECT PATINDEX('%hello%', 'Hello! Have a nice day.') AS PatternPosition
TUTORIALSTEACHER.COM

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

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

[email protected]

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

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