读书人

存储过程中like 项如何写

发布时间: 2012-01-22 22:38:43 作者: rapoo

存储过程中like 项怎么写?
CREATE PROCEDURE AView
@a nvarchar(100) ,
@b nvarchar(100)
AS
SELECT
c,d,e
FROM table
WHERE c like '%@a% ' OR d like '%@b% ' ORDER BY e
GO

这个存储过程正确应该如何写?

[解决办法]
CREATE PROCEDURE AView
@a nvarchar(100) ,
@b nvarchar(100)
AS
SELECT c,d,e
FROM table
WHERE c like '% '+@a+ '% ' OR d like '% '+@+ 'b% '
ORDER BY e
GO

[解决办法]
CREATE PROCEDURE AView
@a nvarchar(100) ,
@b nvarchar(100)
AS
exec( 'SELECT
c,d,e
FROM table
WHERE c like ' '% '+@a+ '% ' ' OR d like ' '% '+@b+ '% ' ' ORDER BY e ')
GO

[解决办法]
create table t(ID varchar(20),date datetime)
insert t select '001 ', '2006/02/02 '
union all select '001 ', '2006/02/05 '
union all select '002 ', '2006/05/02 '
union all select '002 ', '2006/05/05 '
go
select * from t
create procedure pr_1
@a varchar(20)
as
select * from t where ID like '% '+@a+ '% '

exec pr_1 1

读书人网 >SQL Server

热点推荐