【SQL分享】patindex和charindex的區別

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

包括

1、全匹配查找字符串

2、模糊查找字符串

 

CHARINDEX 和 PATINDEX 函數都返回指定模式的開始位置。PATINDEX 可使用通配符,而 CHARINDEX 不可以。

  這兩個函數都帶有2個參數:

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

  2 字符串值表達式(通常爲列名)。

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

  USE pubs

  SELECT CHARINDEX('wonderful', notes)

  FROM titles

  WHERE title_id = 'TC3218'

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

  USE Northwind

  GO

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

  FROM Categories

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

 

希望對大家有用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章