patindex

patindex

SQL中的函數
PATINDEX是SQL中用于返回指定模式的開始位置的函數。
    中文名: 外文名:patindex 所屬學科:計算機

基本内容

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

特點

用PatIndex和CharIndex替代LIKE進行模糊查詢

使用Like 進行模糊查詢的速度很慢,尤其是多個 like的時候,更是如此。

而使用PatIndex和CharIndex相對來說速度快很多。

select * from table where a  Like'%字符%'

select * from table where PatIndex('%字符%' , a)  >  0 

select * from table where CharIndex('字符' ,a)  >  0 

需要注意的是,PatIndex用來處理模糊的條件,比如%字符%

而CahrIndex則處理相對精确的條件。

上一篇:系統漏洞

下一篇:網絡爬蟲

相關詞條

相關搜索

其它詞條