C#提供了Contains函数生成数据库语句是使用了CHARINDEX

效率比Like % 高多了


Sql中CHARINDEX用法

CHARINDEX作用

  写SQL语句我们经常需要判断一个字符串中是否包含另一个字符串,但是SQL SERVER中并没有像C#提供了Contains函数,不过SQL SERVER中提供了一个叫CHARINDX的函数,顾名思义就是找到字符(char)的位置(index),既然能够知道所在的位置,当然就可以判断是否包含在其中了。

      通过CHARINDEX如果能够找到对应的字符串,则返回该字符串位置,否则返回0。

      基本语法如下:

CHARINDEX ( expressionToFind , expressionToSearch [ , start_location ] )

      expressionToFind :目标字符串,就是想要找到的字符串,最大长度为8000 。

  expressionToSearch :用于被查找的字符串。

      start_location:开始查找的位置,为空时默认从第一位开始查找。


使用:

SELECT CHARINDEX ( 'Test','This is a Test');


参考:https://docs.microsoft.com/en-us/sql/t-sql/functions/charindex-transact-sql

SELECT CHARINDEX ( 'Test' , 'This is a Test' COLLATE Latin1_General_CS_AS);