SQL 2005
declare @StartDate datetime,
@EndDate dateTimeselect @tsql = @tsql + ' and a.UP_Time between ' + @StartDate + ' and ' + @EndDate
上述是时间比较的问题。编译没报错,执行就报错“从字符串向datetime转换时失败”
哪里写错了?
declare @StartDate datetime,
@EndDate dateTimeselect @tsql = @tsql + ' and a.UP_Time between ' + @StartDate + ' and ' + @EndDate
上述是时间比较的问题。编译没报错,执行就报错“从字符串向datetime转换时失败”
哪里写错了?
' and a.UP_Time between ' + 字符串@EndDate @StartDate datetime 类型
一句话,先把datetime 类型转换nvarchar ,再去连接
@EndDate dateTime
select @tsql = @tsql + ' and a.UP_Time between ' + CONVERT(VARCHAR(30),@StartDate,120) + ' and ' + CONVERT(VARCHAR(30),@EndDate,120)
不过出了新错误
说是时间附近有语法错误我传了时间参数进去
打印了sql语句
a.UP_Time between 2013-04-26 00:00:01 and 2013-04-26 15:00:01这两个时间值缺少引号吧?我手动加了单引号可以执行的,语句里应该怎么加啊?
SET @tsql=''
declare @StartDate DATETIME='2013-04-26 00:00:01',
@EndDate dateTime ='2013-04-26 15:00:01'
--PRINT CONVERT(VARCHAR(30),@StartDate,120)
--PRINT CONVERT(VARCHAR(30),@EndDate,120)SELECT @tsql =@tsql+ ' and a.UP_Time between ' +''''+CONVERT(VARCHAR(30),@StartDate,120)+'''' +' and ' +''''+CONVERT(VARCHAR(30),@EndDate,120)+''''
print @tsql