0

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

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

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

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

我想要实现的是用户类型说名称“Smith”,我希望数据库返回像“Smythe”或“Smithson”这样的值,但我看不到正确的 SQL 命令文本。

帮助最受赞赏。

4

1 回答 1

1

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

SELECT Name
FROM tblCases
WHERE Name LIKE (SUBSTRING(@name,1,2) + '%')
于 2012-07-30T13:58:55.397 回答