`

PATINDEX()的用法

阅读更多
PATINDEX
返回指定表达式中某模式第一次出现的起始位置;如果在全部有效的文本和字符数据类型中没有找到该模式,则返回零。
语法
PATINDEX ( '%pattern%' , e­xpression )
参数
pattern
一个字符串。可以使用通配符,但 pattern 之前和之后必须有 % 字符(搜索第一个和最后一个字符时除外)。pattern 是短字符数据类型类别的表达式。
e­xpression
一个表达式,通常为要在其中搜索指定模式的列,e­xpression 为字符串数据类型类别。
返回类型
int
注释
PATINDEX 对 text 数据类型很有用;除 IS NULL、IS NOT NULL 和 LIKE(这些是 Where 子句中对 text 类型有效的仅有的其它比较运算)外,PATINDEX 也可用于 Where 子句中。

-----------------------------------------

例一:
找出Northwind.dbo.Categories表中Description字段中是包含单词“Bread”或“bread”的所有记录,那么选择语句就可能是这样:

Select Description from Northwind.dbo.Categories
Where patindex('%[b,B]read%',description) > 0

PATINDEX 中可以使用通配符来确定大写和小写的“b”

例二:
找出Northwind.dbo.Categories表中Description字段中是包含单词“Bread”或“bread”,且第二子字母不是“e”的记录。

select Description from Northwind.dbo.Categories
where patindex('%[b,B]read%',description) > 0 and patindex('_[^e]%',description) = 1

通过在条件语句中增加一个使用^通配符的PATINDEX函数,我们可以过滤掉“Dessert, candies, and sweet breads”这条记录。上面的查询结果只有一条记录。


PATINDEX与CHARINDEX

PATINDEX函数支持使用通配符,可以用在很多有变化的查找中。而CHARINDEX不可以。根据你自己不同的情况,这两个函数对你在SQL Server中的字符串的搜索、控制、分析很有帮助。
分享到:
评论

相关推荐

    SQL Server CHARINDEX和PATINDEX详解

    - **灵活性**:`PATINDEX` 提供了更大的灵活性,可以使用通配符进行模糊匹配。 #### 四、总结 - `CHARINDEX` 主要用于查找一个字符串在另一个字符串中的位置。 - `PATINDEX` 不仅可以查找字符串的位置,还支持更...

    SQL中 patindex函数的用法详解

    接下来,我们将详细讨论PATINDEX函数的使用方法及其各种情况下的应用。 1. **基本语法**: `PATINDEX ( '%pattern%' , expression )` 这里的`pattern`是你想要查找的字符串模式,`expression`则是包含该模式的...

    深入SQL截取字符串(substring与patindex)的详解

    除了`substring`和`patindex`,SQL还提供了其他字符串处理函数,如MySQL中的`SUBSTRING`和`SUBSTR`,以及`substring_index`,它们有着类似的用途,但语法和使用方式可能有所不同。例如,在MySQL中,`SUBSTRING`函数...

    SQLserver中字符串查找功能patindex和charindex的区别

    `PATINDEX`的一个特殊用法是通过结合通配符和字符集来实现更复杂的匹配。例如,你可以查找以特定字母开头的单词,而忽略大小写: ```sql SELECT Description FROM Northwind.dbo.Categories WHERE PATINDEX('%[b,B]...

    sqlserver 中charindex/patindex/like 的比较

    而复杂模式匹配则推荐使用`PATINDEX`。 适用性: - 对于位移有严格要求且不需要正则表达式的情况,`CHARINDEX`是首选。 - 如果需要进行简单的模糊匹配,`LIKE`是实用的工具。 - 当需要支持正则表达式或更复杂的模式...

    SqlServer2016模糊匹配的三种方式及效率问题简析

    本文将探讨三种不同的模糊匹配方法:LIKE语句、PATINDEX和CHARINDEX,并分析它们的效率差异。 1. LIKE语句: LIKE语句是最常见的模糊匹配方式,其语法结构为`WHERE column LIKE pattern`,其中`pattern`可以包含...

    SQL 获取第一个数字

    在探讨“SQL获取第一个数字”的话题时,我们深入...掌握这些函数的使用方法,将使你在处理复杂的字符串数据时更加得心应手。记住,在实际应用中,总是要根据具体需求调整SQL语句,确保正确地处理各种可能的输入情况。

    sql 判断字符串中是否包含数字和字母的方法

    使用`PATINDEX('%[A-Za-z]%', 'your_string')`。这里的`'%[A-Za-z]%'`是一个模式,`%`表示任意数量的任意字符,`[A-Za-z]`则代表任何大小写的字母。如果字符串中存在字母,`PATINDEX()`将返回一个大于0的值。例如,...

    sql server 提取汉字/数字/字母的方法 demo

    2. **循环处理**:使用`PATINDEX`函数定位非英文字母的位置,并用`STUFF`函数移除它们。 3. **返回结果**:最终返回仅包含英文字母的字符串。 #### 三、提取汉字的方法 最后,我们来看如何提取字符串中的汉字部分...

    ASP中文全文检索在SQL Server 2000中的实现 (1).pdf

    2. 技术路线的设计:使用PATINDEX函数对所有字符型字段进行判断,将检索关键字作为变量放入循环中,并使用PATINDEX函数与字段名称拼接形成条件体,这将成为SQL查询的WHERE语句。 3. ASP核心原程序的编写:核心程序...

    sql server 提取汉字、数字、英文 函数

    - `WHILE PATINDEX('%[^0-9]%', @S) > 0`: 使用`PATINDEX`函数查找字符串中第一个非数字的位置。如果找到了非数字,则执行循环内的操作。 - `SET @S = STUFF(@S, PATINDEX('%[^0-9]%', @S), 1, '')`: 使用`STUFF`...

    Oracle sql 函数大全 比较常用的一些 函数 整理

    2. PATINDEX():返回字符串中某个指定的子串出现的开始位置,PATINDEX 函数的子串中可以使用通配符。 五、字符串操作函数 字符串操作函数是用于对字符串进行操作的函数。常用的字符串操作函数有: 1. QUOTENAME()...

    SQL like子句的另一种实现方法(速度比like快)

    然而,当数据量较大时,LIKE操作可能会变得效率低下,这时可以考虑使用`PATINDEX`和`CHARINDEX`作为替代方法,它们在某些情况下能提供更快的查询速度。 `PATINDEX`函数是SQL Server中的一个非常有用的功能,它返回...

    正则表达式在SQL Server 2000中的实现与应用.pdf

    在`LIKE`和`PATINDEX`中,可以使用两种通配符: - `%`:代表零个、一个或多个任意字符。 - `_`:代表单个任意字符。 3. **使用用户定义的函数(UDF)**: 由于SQL Server 2000缺乏内置的正则表达式支持,开发者...

    SQL语句集锦.rar

    工作中常用的SQL + 超复杂SQL 交叉连接查询corss.txt 公交线路问题.txt 。...patindex的用法.txt rename存储过程.txt replace.txt rowcount.txt rowcount精华.txt stuff.txt substring和rtrim.txt unionall.txt

    sql字符串函数大全和使用方法示例

    在实际应用中,可能还需要结合其他SQL函数和操作,如`CONVERT`、`PATINDEX`、`REVERSE`等,以完成更复杂的文本处理任务。了解并熟练掌握这些字符串函数,对于提升SQL编程效率和解决问题的能力至关重要。

    将SQL Server表中相同的字符替换成空格的小程序

    如果需要找出某个字符的位置,可以使用`PATINDEX('%char%', column_name)`。 针对这个问题,可以编写一个存储过程,遍历每个表和每个字段,查找并替换重复的字符。以下是一个基本的存储过程示例: ```sql CREATE ...

    SQL中字符串中包含字符的判断方法

    在sql中我判断包含字符串我们可使用很多方法,如like,replace,charindex函数都可实现我们要的功能,下面我来给各位介绍判断字符串包含字符串sql语句。 通过2个函数CHARINDEX和PATINDEX以及通配符的灵活使用 函数:...

    从数据库中批量提取数据

    从给定的信息来看,本文将围绕SQL中的几个关键操作进行解析,包括`DECLARE`、`SELECT`、`UPDATE`和`WHERE`等语句的应用,同时也会深入探讨游标(Cursor)的使用方法以及字符串处理函数如`PATINDEX`、`SUBSTRING`和`...

    SQL截取字符串函数

    本文将详细介绍几种常用的SQL截取字符串函数及其应用场景,包括`LEFT`、`RIGHT`、`SUBSTRING`以及一些高级用法如使用`CHARINDEX`、`PATINDEX`、`REPLACE`和`STUFF`等函数来实现更复杂的字符串处理。 #### 一、基本...

Global site tag (gtag.js) - Google Analytics