灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:2641回复:0

[SQL Server]SQL patindex和charindex的区别

楼主#
更多 发布于:2012-09-04 18:07

SQL patindex和charindex的区别

最近经常使用字符串查找功能。

包括

1、全匹配查找字符串

2、模糊查找字符串

CHARINDEX 和 PATINDEX 函数都返回指定模式的开始位置。PATINDEX 可使用通配符,而 CHARINDEX 不可以。  www.atcpu.com  

  这两个函数都带有2个参数:

  1 希望获取其位置的模式。使用 PATINDEX,模式是可以包含通配符的字面字符串。使用 CHARINDEX,模式是字面字符串(不能包含通配符)。

  2 字符串值表达式(通常为列名)。

  例如,查找模式"wonderful"在 titles 表中 notes 列的某一特定行中的开始位置。

  USE pubs

  SELECT CHARINDEX('wonderful', notes)

  FROM titles

  WHERE title_id = 'TC3218'

  例如,使用通配符查找模式"candies"在 Categories 表中的 Description 列的任一行中的开始位置:  www.atcpu.com  

  USE Northwind

  GO

  SELECT CategoryID, PATINDEX('%candies%', Description)AS POSITION

  FROM Categories

  WHERE PATINDEX('%candies%', Description) <> 0







喜欢0 评分0
游客

返回顶部