DECLARE @t TABLE(v VARCHAR(1000)) INSERT @t SELECT '中国' UNION ALL SELECT '中国人' UNION ALL SELECT '新大秦帝国' UNION ALL SELECT '秦国人'SELECT * FROM @t WHERE v LIKE '%人%' SELECT * FROM @t WHERE PATINDEX('%人%',v)>0 SELECT * FROM @t WHERE CHARINDEX('人',v)>0 SELECT v FROM @t WHERE CAST('<r>' + v + '</r>' as xml).exist('//r[contains(.,"人")]')=1及全文索引
like charindex() ……
like select patindex('%a%','abaac') select charindex('a','abaac',2)
left /right /substring day /year/month 等函数取得部分值算不?
patindex
charindex
like
charindex()
...
1、LIKE'Mc%' 将搜索以字母 Mc 开头的所有字符串(如 McBadden)。
2、LIKE'%inger' 将搜索以字母 inger 结尾的所有字符串(如 Ringer、Stringer)。
3、LIKE'%en%' 将搜索在任何位置包含字母 en 的所有字符串(如 Bennet、Green、McBadden)。
4、LIKE'_heryl' 将搜索以字母 heryl 结尾的所有六个字母的名称(如 Cheryl、Sheryl)。
5、LIKE'[CK]ars[eo]n' 将搜索下列字符串:Carsen、Karsen、Carson 和 Karson(如 Carson)。
6、LIKE'[M-Z]inger' 将搜索以字符串 inger 结尾、以从 M 到 Z 的任何单个字母开头的所有名称(如 Ringer)。
7、LIKE'M[^c]%' 将搜索以字母 M 开头,并且第二个字母不是 c 的所有名称(如MacFeather)。
SELECT * FROM TB WHERE CHARINDEX('YY',XX)>0
SELECT * FROM TB WHERE PATINDEX('%[YY]%',XX)>0
patindex
charindex下面两个也沾边吧
difference
SOUNDEX
还可以算是全文检索 CHARINDEX 应该可以不算, 或者只能算一种特例, 如果要算特列的话, LEFT/RIGHT/SUBSTRING 也可以算上了
INSERT @t SELECT '中国'
UNION ALL SELECT '中国人'
UNION ALL SELECT '新大秦帝国'
UNION ALL SELECT '秦国人'SELECT * FROM @t WHERE v LIKE '%人%'
SELECT * FROM @t WHERE PATINDEX('%人%',v)>0
SELECT * FROM @t WHERE CHARINDEX('人',v)>0
SELECT v FROM @t
WHERE CAST('<r>' + v + '</r>' as xml).exist('//r[contains(.,"人")]')=1及全文索引
like
charindex()
……
like
select patindex('%a%','abaac')
select charindex('a','abaac',2)
charindex
patindex
contains
xml...