存储过程模糊查询
A. sql存储过程中包含模糊查询,怎样将查询的结果全部显示出来
Select
@BookID=nBookID,@BookName=vBookName,@WriterName=vWriterName,
@Price=mBookPrice,@PublicTime=tPublicTime,@Press=vBookPress
这样只是赋值了,只能找到最后一条数据。
可以把赋值语句去掉,不返回这些值、
Select
nBookID,vBookName,vWriterName,
mBookPrice,tPublicTime,vBookPress
From
Books,
Writer
Where
Books.nWriterNo=Writer.nWriterNo
AND
Books.vBookName
LIKE
'%'+@InputBookName+'%'
AND
Writer.vWriterName
LIKE
'%'+@InputWriterName+'%'
B. 怎么让SQL动态存储过程进行模糊查询
exec('select top '+@PageSize+' * from Books where Title like ‘’'+@Title+'‘’and Id not in (select top '+@Page+' Id from Books where Title like‘’'+@Title+'‘’ order by '+@Order+') order by '+@Order)
两个 like 附近需要用单引号括起来。
C. 在存储过程中按条件模糊查询怎么写
select * from table where col '%条件%'
or
select * from table where charindex('条件',col )>0
or
select * from table where patindex('%条件%',col )>0
D. oracle 如何在存储过程中对变量进行模糊查询
你这个sql可以用一个varchar 变量写 当成字符串 不就可以拼进去变量了吗 然后再执行这个拼好的字符串 EXECUTE IMMEDIATE
或是 在存储过程中你这样写模糊查询这块 ‘%’‘’||f_ComCode||‘’‘%’ 在存储过程中‘代表转译 ’‘就相当于‘
E. sql存储过程中使用模糊查询
方法1:你可以给参数一定 默认值
create proc SelectAllProcess
@xingming varchar(15)='',
@chenghu varchar(15)='',
@haoma varchar(15)='',
@fenzu varchar(10)=''
。。。
exec SelectAllProcess
@xingming=default,
@chenghu= default,
@haoma=default,
@fenzu=default
或者用
if exists(select * from sysobjects where name = 'SelectAllProcess' )
drop Proc SelectAllProcess
go
create proc SelectAllProcess
@xingming varchar(15),
@chenghu varchar(15),
@haoma varchar(15),
@fenzu varchar(10)
as
begin
select xingming as 姓名,xingbie as 性别,chenghu as 称呼,haoma as 号码,fenzu as 分组,shijian as 时间
from MemoTable
where xingming like '%'+COALESCE(@xingming,'')+'%' or
chenghu like '%'+COALESCE(@chenghu,'')+'%' or
haoma like '%'+COALESCE(@haoma,'')+'%' or
fenzu like '%'+COALESCE(@fenzu,'')+'%'
end
exec SelectAllProcess @xingming='盼',@chenghu=null,@haoma='13720686947',@fenzu=null
F. 有关SQL存储过程变量模糊查询
select
*
from
user
where
user_name
like
'%'
||
变量
||
'%'
这样写就可以了。
G. oracle存储过程内添加模糊查询
直接在Strcond这个变量里面增加
' and Gho_Recordername like ' || '''' || '%' || 查询参数 || '%' || ''''
H. MySQL:在存储过程中传递参数,使用模糊查询怎么做
String sql = "select * from commodity where SORT like ? ";
ps = conn.prepareStatement(sql);
ps.setString(1,"%"+ str+"%");
这样就能实现模糊查询了
I. sql 模糊查找
SQL模糊查询,使用like比较字,加上SQL里的通配符,请参考以下:
1、LIKE'Mc%'
将搜索以字母
Mc
开头的所有字符串(如
McBadden)。
2、LIKE'%inger'
将搜索以字母
inger
结尾的所有字符串(如
Ringer、Stringer)。
3、LIKE'%en%'
将搜索在任何位置包含字母
en
的所有字符串(如
Bennet、Green、McBadden)。
4、LIKE'_heryl'
将搜索以字母
heryl
结尾的所有六个字母的名称(如
Cheryl、Sheryl)。
5、LIKE'[CK]ars[eo]n'
将搜索下列字符串:Carsen、Karsen、Carson
和
Karson(如
Carson)。
6、LIKE'[M-Z]inger'
将搜索以字符串
inger
结尾、以从
M
到
Z
的任何单个字母开头的所有名称(如
Ringer)。
7、LIKE'M[^c]%'
将搜索以字母
M
开头,并且第二个字母不是
c
的所有名称(如MacFeather)。
-------------------------------------------------
呵呵,要完整的例句啊。下面这句查询字符串是我以前写的,根据变量
zipcode_key
在邮政编码表
zipcode
中查询对应的数据,这句是判断变量
zipcode_key
为非数字时的查询语句,用
%
来匹配任意长度的字符串,从表中地址、市、省三列中查询包含关键字的所有数据项,并按省、市、地址排序。这个例子比较简单,只要你理解了方法就可以写出更复杂的查询语句。
sql
=
"select
*
from
zipcode
where
(address
like'%"
&
zipcode_key
&
"%')
or
(city
like'%"
&
zipcode_key
&
"%')
or
(province
like'%"
&
zipcode_key
&
"%')
order
by
province,city,address"
J. SQL 怎么实现模糊查询
1、首先需要开启数据库管理工具,打开SQL语言编写窗体。

