我有一个数据库,其中包含很多要在标记系统中使用的单词。我已经为自动完成框创建了必要的代码,但是我不确定如何以最有效的方式从数据库中获取匹配的条目。
我知道LIKE命令,但是在我看来,它更像是一个EQUAL命令。我只会得到看起来与我输入的单词完全相同的单词。
我的计划是读取每一行,然后使用C#的string.StartsWith()和string.Contains()函数查找可能适合的单词,但是我认为对于大型数据库,读取每一行和然后过滤它们。
有没有一种方法可以从SQL Server读取仅以给定字符串开头或包含给定字符串的行?
使用like时,请提供一个%符号作为通配符。如果要以Hello开头的字符串,请使用LIKE’Hello%’。如果要在字符串中的任意位置使用Hello的字符串,请使用LIKE’%Hello%’
至于效率,使用Like并不是最佳选择。您应该研究全文搜索。