sql server 2005模糊查询,急用!!!!!!

select * from a where name like '%{0}%'(某个输入的值)
比如,当我输入一个任意值,如果name里面包涵这个值,则查出所有包涵这个值的表的信息。 请问SQL怎么写?

第1个回答  2011-07-20
例如:student表中有 school 字段如下:
实验小学
实验中学
实验高中
执行SQL
select * from student where school like '%中%' ;
结果如下:
实验中学
实验高中追问

我要的是%%里面的“中”字可以是任何值,这个值是自己输入的一个值。
比如:%b% b = txtBox.text;

第2个回答  2011-07-20
select * from a where name like '%张%'追问

你的这个我也会,我的意思是里面的那个张字是自己输入的,而不是特定的。
比如在一个txtBox里面输入一个值b,这个b = 你所写的那个“张”字。
也就是把“张”字换成一个变量,而不是恒定的值。

追答

declare @nameinput varchar(100)
select * from a where name like '%'+@nameinput+'%'

追问

@nameinput 如何接收我自己输入的一个值呢?
比如我要查找这张表的name里是否包涵的有 “谢谢你”,那么“谢谢你”该怎么赋值给@nameinput呢?

追答

declare @nameinput varchar(100)
set @nameinput='张三'
select * from a where name like '%'+@nameinput+'%‘

追问

我的sql语句:
string sql = string.Format("select * from a where name like '%{0}%'",txtName.Text);
这样也能运行的哈!

谢谢,你给的那种方法也成,不过我没用过。

本回答被提问者采纳
第3个回答  2011-07-20
select * from a where name like '%' || ‘某个值'|| '%'
第4个回答  2011-07-20
额。。。难道不是上面这么写么?追问

上面的%{0}%后面我用的是中文代替的,就是不知道后面那里怎么放值。
比如select * from a where name like '%{0}%',张
运行不了,提示语法错误!

相似回答