GO
ALTER PROCEDURE [dbo].[GetSearchedProtocolsPaged]
(
@StartDate Datetime,
@EndDate Datetime
)
as DECLARE @sql nvarchar(4000) SET @sql =
'select * from Protocol Where TaskDate>''' + @StartDate + ''' And TaskDate < ''' + @EndDate + ''')'EXEC sp_executesql @sql 请问如何比较TaskDate在存储过程输入的两个参数之间的全部记录?
ALTER PROCEDURE [dbo].[GetSearchedProtocolsPaged]
(
@StartDate Datetime,
@EndDate Datetime
)
as DECLARE @sql nvarchar(4000) SET @sql =
'select * from Protocol Where TaskDate>''' + @StartDate + ''' And TaskDate < ''' + @EndDate + ''')'EXEC sp_executesql @sql 请问如何比较TaskDate在存储过程输入的两个参数之间的全部记录?
(
@StartDate Datetime,
@EndDate Datetime
)
as
select * from Protocol Where TaskDate> @StartDate And TaskDate < @EndDate 直接这样就可以
@EndDate是结束日期
这两个是存储过程提供的参数我想查询大于@StartDate并小于@EndDate的所有行
set QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[GetSearchedProtocolsPaged]
(
@Keywords varchar(100),
@startRowIndex int,
@maximumRows int,
@StartDate Datetime,
@EndDate Datetime
)
as DECLARE @sql nvarchar(4000) SET @sql =
'select * from
(select Id,CompanyName,TaskDate,ContactInfor,ProtocolContent,Memo,RecorderID,FilePath,
(row_number() over(order by Id)) as RankRow
from Protocol Where
((CompanyName like ''' + @Keywords + ''') Or
(ContactInfor like ''' + @Keywords + ''') Or
(ProtocolContent like ''' + @Keywords + ''') Or
(Memo like ''' + @Keywords + ''') Or
(RecorderID like ''' + @Keywords + ''')
) And (TaskDate Between ''' + convert(char(10),@StartDate,120)
+ ''' And ''' + convert(char(10),@StartDate,120) + ''') as result
Where result.RankRow >''' + convert(nchar(10),@startRowIndex) + ''' And result.RankRow <= ''' +
CONVERT(nvarchar(10),@maximumRows) + ''''
EXEC sp_executesql @sql 全部的存储过程如下,提示as附近有语法错误
EXEC GetSearchedProtocolsPaged '2007-01-11','2008-01-11'