比较单词并获得精确匹配

use*_*084 5 c# sql asp.net search

现在这很棘手......我希望我能很好地解释它......

我有一个表,其中包含名称,我需要将它与我提供的单词进行比较,并得到完全匹配的结果。

现在我说这很棘手,因为我尝试了这个查询,它给了我一组名称。它包含完全匹配的单词以及相似的单词......

这就是我所做的:

DataTable dt = new DataTable();
        SqlConnection connection = new SqlConnection();
        connection.ConnectionString = ConfigurationManager.ConnectionStrings["xyz "].ConnectionString;
        connection.Open();
        SqlCommand sqlCmd = new SqlCommand("SELECT Names FROM Machines WHERE Name  Like '%' + @userName + '%'", connection);
        SqlDataAdapter sqlDa = new SqlDataAdapter(sqlCmd);

        sqlCmd.Parameters.AddWithValue("@userName", userName);

        sqlDa.Fill(dt);
        connection.Close();
Run Code Online (Sandbox Code Playgroud)

现在我想要的是......例如。

如果数据库有三个单词

abc123

XYZ123

pqc1238

现在,如果单词是 123,则应返回 abc123 和 xyz123,如果 c123 则返回 abc123,而不是 pqc1238 和 xyz123

如果是 238 那么就返回 pqc1238....

我希望我说得足够清楚......相信我,我第一次也没明白

任何建议最好找到单词之间的精确匹配..因为 LIKE 是不够的..

谢谢

Gan*_*ant 2

对我来说,您似乎正在搜索以 @userName 结尾的字符串。

SqlCommand sqlCmd = new SqlCommand("SELECT Names FROM Machines WHERE Name  Like '%' + @userName", connection);
Run Code Online (Sandbox Code Playgroud)