我有一个列有“Tom Hardy”这样的数据的列,我在这个列中添加了一个新查询,如下所示:
SELECT Number, Name, Business, [Tax File No], Phone
FROM Archive
WHERE (Name = @Name)
当我输入像“Tom Hardy”这样的全名时它起作用,但我想通过搜索“Tom”或“Hardy”找到结果。
我也尝试过:
SELECT Number, Name, Business, [Tax File No], Phone
FROM Archive
WHERE (Name IN (@Name))
都没有工作。
使用Visual Studio 2010与C#和SQL数据库连接。
请帮助,谢谢!
答案 0 :(得分:1)
您需要在参数
中添加通配符WHERE Name LIKE '%' + @Name + '%'
所以
SELECT Number, Name, Business, [Tax File No], Phone
FROM Ahrcive
WHERE (Name COLLATE UTF8_GENERAL_CI like '%' + @Name + '%')
答案 1 :(得分:1)
Dave是对的,除了mybe你还想检查小写/大写的情节, 也许这就是你没有收到好成绩的原因
喜欢:
SELECT Number, Name, Business, [Tax File No], Phone
FROM Archive
WHERE (LOWER(Name) like '%' + LOWER(@Name) + '%')
此语句将两个值都转换为小写,并且比较再次有效