我有一个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>
非常感谢。
答案 0 :(得分:1)
您可以使用LIKE
子句以这种方式执行此操作。它会在你传递的名字的末尾添加通配符%
:
SELECT Name
FROM tblCases
WHERE Name LIKE (SUBSTRING(@name,1,2) + '%')