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则处理相对精确的条件。

相关词条

相关搜索

其它词条