Sql在表中查找相似的名字

时间:2012-07-30 13:53:09

标签: tsql

我有一个WinForms C#应用程序,它使用SqlCommand从后端SqlServer DB中提取信息。当用户键入名称时,我想检查我的数据库表以查找类似的名称(比如说具有相同的两个初始字符)。我一直在尝试以下sql命令文本:

SELECT Name
FROM tblCases
WHERE Name LIKE SUBSTRING(@Name,1,2);

其中@Name是应用程序生成的SqlCommand中的参数,其值由用户设置。

但是每次返回nil查询结果,即使我知道它应该返回一些结果。

我想要实现的是用户输入的名称是“Smith”,我希望DB返回像'Smythe'或'Smithson'这样的值,但是我无法看到正确的SQL命令文本。< / p>

非常感谢。

1 个答案:

答案 0 :(得分:1)

您可以使用LIKE子句以这种方式执行此操作。它会在你传递的名字的末尾添加通配符%

SELECT Name
FROM tblCases
WHERE Name LIKE (SUBSTRING(@name,1,2) + '%')