SET @SQLSTR = 'SELECT TOP 100 from T_Table1 where publishTime between '+convert(varchar(100), @StartTime,23)'+' and '+ convert(varchar(100), @OverTime,23)传入参数后总是无法返回记录,请问是什么问题啊
SET @SQLSTR = 'SELECT TOP 100 from T_Table1 where publishTime between '''+convert(varchar(100), @StartTime,23)+''' and '''+ convert(varchar(100), @OverTime,23)+''''
declare @StartTime datetime declare @OverTime datetime set @StartTime='2007-1-1' set @OverTime='2007-4-1' declare @SQLSTR nvarchar(4000) ------------------------------------------------ SET @SQLSTR = 'SELECT TOP 100 * from T_Table1 where convert(varchar(100), Convert(datetime,publishTime),23) between '''+ convert(varchar(100), @StartTime,23)+''' and '''+convert(varchar(100), @OverTime,23)+'''' ------------------------------------------------ print @SQLSTR
SET @SQLSTR = 'SELECT TOP 100 from T_Table1 where publishTime between '''+convert(varchar(100), @StartTime,23)+''' and '''+ convert(varchar(100), @OverTime,23)+''''
你的这样的 SELECT TOP 100 from T_Table1 where publishTime between 2007-01-01 and 2007-04-01 应该是 SELECT TOP 100 from T_Table1 where publishTime between '2007-01-01' and '2007-04-01'
declare @OverTime datetime
set @StartTime='2007-1-1'
set @OverTime='2007-4-1'
declare @SQLSTR nvarchar(4000)
------------------------------------------------
SET @SQLSTR = 'SELECT TOP 100 * from T_Table1 where convert(varchar(100), Convert(datetime,publishTime),23) between '''+ convert(varchar(100), @StartTime,23)+''' and '''+convert(varchar(100), @OverTime,23)+''''
------------------------------------------------
print @SQLSTR
where publishTime between '''+convert(varchar(100), @StartTime,23)+'''
and '''+ convert(varchar(100), @OverTime,23)+''''
SELECT TOP 100 from T_Table1 where publishTime between 2007-01-01 and 2007-04-01
应该是
SELECT TOP 100 from T_Table1 where publishTime between '2007-01-01' and '2007-04-01'