创建存储过程
create PROCEDURE Select_xs
@学号 char(6)
asselect * from xswhere 学号 like @学号执行存储过程
exec Select_xs '%1%'xs表里有学号包含 1 的
可是执行以后都查找不到高手帮帮忙
create PROCEDURE Select_xs
@学号 char(6)
asselect * from xswhere 学号 like @学号执行存储过程
exec Select_xs '%1%'xs表里有学号包含 1 的
可是执行以后都查找不到高手帮帮忙
create PROCEDURE Select_xs
@学号 char(6)
as
exec('select * from xswhere 学号 like ''%'+@学号+''%'')
create PROCEDURE Select_xs
@学号 char(6)
as
exec('select * from xswhere 学号 like '''+@学号+'''')
童鞋你的参数定义错了, 不能用char, 应该用varchar或者nvarchar的, CHAR会自动填充空格
下面这样就可以饿
if object_id('[xs]') is not null drop table [xs]
go
create table [xs]([学号] nvarchar(5))
insert [xs]
select 1 union all
select 1 union all
select 2 union all
select 3 union all
select 4
go
create PROCEDURE Select_xs
@学号 nvarchar(6)
as select * from xs where 学号 like @学号goselect * from xs
exec Select_xs '%1%'drop procedure Select_xs
drop table xs--测试结果:
/*学号
-----
1
1
2
3
4(所影响的行数为 5 行)学号
-----
1
1(所影响的行数为 2 行)*/
@学号 nvarchar(100)
as
exec('select * from xswhere 学号 like '''+@学号+'''')
@学号 nvarchar(100)
as
exec('select * from xswhere 学号 like '''+@学号+'''')
http://blog.csdn.net/fredrickhu/archive/2009/09/21/4574840.aspx