存储过程如下:
if(@flag=1)
begin
select count(*) from daily_work dw
where dw.Owner like ''+@owner+'%'
and dw.Status like '%'+@status+'%'
and dw.Item like '%'+@item+'%'
and dw.Project like '%'+@project+'%'
and ((dw.[Start Date] between @startdate1 and @startdate2) or dw.[Start Date] IS null)
and ((dw.[Due Date] between @duedate1 and @duedate2 )or dw.[Due Date] IS null)
and dw.[Description (purpose/value)] like '%'+@description+'%'
end
if(@flag=2)
begin
with temptbl as
(
select ROW_NUMBER()over(order by project asc,(right([Code],5)) desc) AS Number,
dw.[No],dw.Project,dw.Item,dw.Code,dw.[Type],dw.[Description(purpose/value)],dw.Status,dw.[%],
Convert(Varchar(10),dw.[Start Date],120)AS [Start Date],Convert(Varchar(10),dw.[Due Date],120)AS [Due Date],dw.Owner,dw.[Day/Hour],dw.Comment,dw.Updatedatetime,dw.UpdateName
from daily_work dw
where dw.Status='Delete'
and dw.Item like '%'+@item+'%'
and dw.Owner like ''+@owner+'%'
and dw.Status like '%'+@status+'%'
and dw.Project like '%'+@project+'%'
and ((dw.[Start Date] between @startdate1 and @startdate2) or dw.[Start Date] IS null)
and ((dw.[Due Date] between @duedate1 and @duedate2 )or dw.[Due Date] IS null)
and dw.[Description (purpose/value)] like '%'+@description+'%'
)
select * from temptbl where Number>=((@pageindex-1)*@pagesize+1)
and Number<=(@pageindex*@pagesize) order by project asc,(right([Code],5)) desc
end