Sqlserver根据时间段查询问题 存储过程
这个存储过程很奇怪:第一个是我没有用字符串拼接可以通过,第二个我用字符串拼接不能通过1>ALTERPROCEDURE[dbo].[Test_Query2]@begi...
这个存储过程很奇怪:第一个是我没有用字符串拼接可以通过,第二个我用字符串拼接不能通过1>ALTER PROCEDURE [dbo].[Test_Query2]@beginTime varchar(50),@endTime varchar(50)ASBEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON;DECLARE @strSQL nvarchar(500) -- Insert statements for procedure hereprint @beginTime;print @endTime;select * from ttest where [time] between @beginTime and @endTime;END这个查询可以通过2>ALTER PROCEDURE [dbo].[Test_Query]@beginTime varchar(50),@endTime varchar(50)ASBEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON;DECLARE @strSQL nvarchar(500) -- Insert statements for procedure hereprint @beginTime;print @endTime;set @strSQL='select * from ttest where [time] between '+ @beginTime+' and '+@endTime;EXEC(@strSQL)END这个查询就不能通过 USE [test]GO这个是数据DECLARE @return_value intEXEC @return_value = [dbo].[Test_Query] @beginTime = N'2010-10-19 14:18:19', @endTime = N'2010-10-19 16:18:19'SELECT 'Return Value' = @return_valueGO错误信息2010-10-19 14:18:192010-10-19 16:18:19消息 102,级别 15,状态 1,第 1 行'14' 附近有语法错误。
展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询