Tsql Sql在表中查找相似的名称

Tsql Sql在表中查找相似的名称,tsql,Tsql,我有一个WinForms C#应用程序,它使用SqlCommand从后端SqlServer数据库提取信息。当用户键入一个名称时,我希望检查我的DB表以查找相似的名称(例如具有相同的两个初始字符)。我一直在尝试以下sql命令文本: SELECT Name FROM tblCases WHERE Name LIKE SUBSTRING(@Name,1,2); 其中@Name是应用程序生成的SqlCommand中的一个参数,其值由用户设置 但即使我知道它应该返回一些结果,每次都会返回零查询结果 我试

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

SELECT Name
FROM tblCases
WHERE Name LIKE SUBSTRING(@Name,1,2);
其中@Name是应用程序生成的SqlCommand中的一个参数,其值由用户设置

但即使我知道它应该返回一些结果,每次都会返回零查询结果

我试图实现的是,用户类型说“Smith”,我希望数据库返回像“Smythe”或“Smithson”这样的值,但我看不出SQL命令文本是否正确


非常感谢您的帮助。

您可以使用
LIKE
子句这样做。它将通配符
%
添加到您要传递的姓名末尾:

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