在SQL中的@parameter上搜索员工姓名

时间:2011-07-29 07:26:05

标签: sql

  

可能重复:
  Parameterized Queries with LIKE and IN conditions

我在我的VB.net应用程序中尝试通过sql DB中的参数搜索放在文本框中的字符的人。像 -

这样的东西
select * from employee where name like '@name%'

但它不起作用!

有人能帮助我吗?

3 个答案:

答案 0 :(得分:3)

对于start-with匹配:

SELECT * FROM employee WHERE name LIKE @name + '%'

对于包含匹配:

SELECT * FROM employee WHERE name LIKE '%' + @name + '%'

您希望将字符串'%'与值@name结合使用:目前您正在使用字符串'@ name%',这当然不是您要搜索的内容。

答案 1 :(得分:2)

如果要在SQL中处理此问题,还可以执行以下操作:

select * from employee where name like @name +'%'

编辑:Kieren Johnson打败了我这个答案,并进一步解释了

答案 2 :(得分:0)

您必须将%放在命名参数的末尾。

select * from employee where name like @name

addParameter("@name", "obama%") //这实际上不是一个真正的函数(因为我不知道你怎么会在VB中调用,但我认为你看到了我的意思; - )

您还应删除命名参数

周围的'