返回指定表达式中某模式第一次出现的起始位置;如果在全部有效的文本和字符数据类型中没有找到该模式,则返回零。

Transact-SQL 语法约定

语法

PATINDEX ( ‘%pattern%’ , e­xpression )

备注
如 果 pattern 或 e­xpression 为 NULL,则当数据库的兼容级别为 70 时,PATINDEX 将返回 NULL;如果数据库兼容级别小于或等于 65,则仅当 pattern 和 e­xpression 同时为 NULL 时,PATINDEX 才返回 NULL。

PATINDEX 基于输入的排序规则执行比较。若要以指定排序规则进行比较,则可以使用 COLLATE 将显式排序规则应用于输入值。

参数
pattern
一个文字字符串。可以使用通配符,但 pattern 之前和之后必须有 % 字符(搜索第一个或最后一个字符时除外)。pattern 是字符串数据类型类别的表达式。

e­xpression
一个表达式,通常为要在其中搜索指定模式的列,e­xpression 为字符串数据类型类别。

返回类型
如果 e­xpression 的数据类型为 varchar(max) 或 nvarchar(max),则为 bigint,否则为 int。

示例
A. 在 PATINDEX 中使用模式
以下示例查找模式 ensure 在 Document 表的 DocumentSummary 列的某一特定行中的开始位置。

程序代码
USE AdventureWorks;
GO
Select PATINDEX(‘%ensure%’,DocumentSummary)
FROM Production.Document
Where DocumentID = 3;
GO

下面是结果集:

复制代码
———–
64

(1 row(s) affected)

如果未通过 Where 子句限制要搜索的行,查询将返回表中的所有行,对在其中找到该模式的所有行报告非零值,对在其中未找到该模式的所有行报告零值。

B. 在 PATINDEX 中使用通配符
以下示例使用通配符查找模式 en_ure 在 Document 表中 DocumentSummary 列的某一特定行中的开始位置,其中下划线为代表任何字符的通配符。

程序代码
USE AdventureWorks;
GO
Select PATINDEX(‘%en_ure%’, DocumentSummary)
FROM Production.Document
Where DocumentID = 3;
GO

下面是结果集:

————
64

(1 row(s) affected)

如果没有限制要搜索的行,查询将返回表中的所有行,对在其中找到该模式的所有行报告非零值。

C. 在 PATINDEX 中使用 COLLATE
以下示例使用 COLLATE 函数显式指定要搜索的表达式的排序规则。

程序代码
USE tempdb;
GO
Select PATINDEX ( ‘%ein%’, ‘Das ist ein Test’  COLLATE Latin1_General_BIN) ;
GO

转载于:https://www.cnblogs.com/Gaojier/archive/2010/04/08/2783587.html

2007 patindex函数的用法相关推荐

  1. patindex函数的用法介绍

    /*关于patindex函数的用法介绍.编写人:Hopewell,日期:2006/08/26*/ patindex函数的用法. 语法格式:PATINDEX ( '%pattern%' , expres ...

  2. mysql patindex_SQL中 patindex函数的用法

    原文: SQL中 patindex函数的用法 语法格式:PATINDEX ( '%pattern%' , expression ) 返回pattern字符串在表达式expression里第一次出现的位 ...

  3. Sql Server REPLACE函数的使用;SQL中 patindex函数的用法

    Sql Server REPLACE函数的使用 REPLACE 用第三个表达式替换第一个字符串表达式中出现的所有第二个给定字符串表达式. 语法 REPLACE ( ''string_replace1' ...

  4. Oracle中patindex函数,快速掌握\patindex\函数的使用方法-开发技术-Oracle频道-中国IT实验室-HcALky8-ChinaUnix博客...

    patindex函数的用法: 语法格式:PATINDEX ( '%pattern%' , expression ) 返回pattern字符串在表达式expression里第一次出现的位置,起始值从1开 ...

  5. cin、cin.get()、cin.getline()、getline()、gets()等函数的用法

    转载,并经过本人补充 cin.cin.get().cin.getline().getline().gets()等函数的用法 2007/10/27 22:51 学C++的时候,这几个输入函数弄的有点迷糊 ...

  6. 计算机excelsumif的公式,EXCELsumif函数的用法展示

    excelsumif函数作为Excel2003中一个条件求和函数,在实际工作中发挥着强大的作用,虽然在2007以后被SUMIFS所取代,但它依旧是一个excel函数的经典. 条件求和函数SUMIF e ...

  7. sql中日期函数的用法

    sql中日期函数的用法   <script src="http://blog.csdn.net/count.aspx?ID=1920773&Type=Rank" ty ...

  8. web报表工具FineReport常用函数的用法总结(日期和时间函数)

    web报表工具FineReport常用函数的用法总结(日期和时间函数) 说明:凡函数中以日期作为参数因子的,其中日期的形式都必须是yy/mm/dd.而且必须用英文环境下双引号(" " ...

  9. 在Delphi中FormatDateTime函数的用法

    在Delphi中FormatDateTime函数的用法  function FormatDateTime(const Format: string; DateTime: TDateTime): str ...

最新文章

  1. 关于Map的key值的问题
  2. DotNet Framework源代码调试问题
  3. OpenCV 绘制几何图形
  4. SPOJ 1811. POJ 2774 . 最大公共子串
  5. WinSock API网络编程——TCP/IP协议详解
  6. ios开发之 -- 自动轮播图创建
  7. PROFINET及其同步实时通讯分析
  8. Spring JDBC模板惯用方式
  9. 通过C#+AJAX实现倒计时
  10. cmd 下通过NTML代理访问Maven 库
  11. VMware与Hyper-V不兼容
  12. Windows客户端开发--URLDownloadToFile下载文件进度条
  13. Flash游戏开发性能优化
  14. Java8 Function 用法简介
  15. 故障:ID29 的 KDC 警告日志
  16. 实现163邮箱发送邮件功能
  17. java ee jpi是什么,“JPI”是“Java Plug In”的缩写,意思是“Java插件”
  18. 如何在海外高效的推广APP?海外推广产品该注意哪些点?
  19. html中键盘分别对应的值,电脑键盘键值所对应的功能详解
  20. 使用Java开发人脸融合(换军装等)并接入微信小程序

热门文章

  1. 016 Java中 int、Integer和 new Integer() 使用==比较
  2. 为什么需要八进制和十六进制? 十六进制的意义何在?
  3. linux添加ko,AllWinnerTech A10添加驱动ko模块方法
  4. 为什么“ Hello World”是您将编写的最重要的程序
  5. 写给码农们:从业互联网13年,才觉得卖卤菜比找风投上市靠谱!
  6. 手机游戏为何需要强烈的“心跳”?
  7. mysql表中指定位置新增一个字段
  8. go restful 安全_go web restful api
  9. 获取csgo库存饰品信息的API接口
  10. iPhone3GS,iPhone4完美降级