set @SampleSql='select Focus_Guid,G_Type from 表1 where Decl_Time between '''+CAST( @Time1 as varchar(100))+''' and '''+CAST( @Time2 as varchar(100))+''''
declare @Time1 datetime declare @Time2 datetime set @Time1= dateadd(MINUTE,-30,getdate()) set @Time2 =getdate() select @Time1 select @Time2 条件改成 where Decl_Time between'''+CAST( @Time1 as varchar(100))+''' and '''+CAST( @Time2 as varchar(100))+''' 结果变成是where Decl_Time between'10 16 2014 11:24AM' and '10 16 2014 11:54AM' 但是我要的是where Decl_Time between 2014-10-10 42:12:12 777 and 2014-10-10 12:12:12 777
转换一下日期where CONVERT(varchar(50), Decl_Time, 120) between '''+@Time1+''' and '''+@Time2+''''
where CONVERT(varchar(50), Decl_Time, 120) between '''+@Time1+''' and '''+@Time2+'''' 如果declare @Time1 datetime declare @Time2 datetime 还是格式不对无法转换如果declare @Time1 varchar(50) declare @Time2 varchar(50) 则出现的结果是 where CONVERT(varchar(50), Decl_Time, 120) between '10 16 2014 11:31AM' and '10 16 2014 12:01PM'
???@Time1 和@Time2是变量啊,不是参数;你意思是这两个字段该改成?
declare @Time1 datetime declare @Time2 datetime set @Time1= dateadd(MINUTE,-30,getdate()) set @Time2=getdate() declare @Time11 varchar(50) declare @Time22 varchar(50) set @Time11=convert(varchar(50), @Time1,120) set @Time22=convert(varchar(50), @Time1,120) select @Time11 select @Time22where Decl_Time between '''+@Time11+''' and '''+ @Time22 +''' 你指这样吧?
declare @Time1 datetime declare @Time2 datetime set @Time1= dateadd(MINUTE,-30,getdate()) set @Time2=getdate() declare @Time11 varchar(50) declare @Time22 varchar(50) set @Time11=convert(varchar(50), @Time1,21) set @Time22=convert(varchar(50), @Time2,21) where Decl_Time between '''+@Time11+''' and '''+ @Time22 +'''结果出来了
set @SampleSql='select Focus_Guid,G_Type from 表1 where Decl_Time between '+@Time1+' and '+@Time2 select @SampleSql
declare @Time2 nvarchar(50)
declare @Time2 varchar(50)
set @Time1= dateadd(MINUTE,-30,getdate())
set @Time2=GETDATE()
select @Time1
select @Time2查出来变成
10 16 2014 11:16AM
10 16 2014 11:46AM
我要的是标准格式2014-10-10 时分秒只有datetime才能用时间进行加减吧?
declare @Time2 datetime
set @Time1= dateadd(MINUTE,-30,getdate())
set @Time2 =getdate()
select @Time1
select @Time2
条件改成 where Decl_Time between'''+CAST( @Time1 as varchar(100))+''' and '''+CAST( @Time2 as varchar(100))+'''
结果变成是where Decl_Time between'10 16 2014 11:24AM' and '10 16 2014 11:54AM'
但是我要的是where Decl_Time between 2014-10-10 42:12:12 777 and 2014-10-10 12:12:12 777
如果declare @Time1 datetime
declare @Time2 datetime
还是格式不对无法转换如果declare @Time1 varchar(50)
declare @Time2 varchar(50)
则出现的结果是
where CONVERT(varchar(50), Decl_Time, 120) between '10 16 2014 11:31AM' and '10 16 2014 12:01PM'
declare @Time2 datetime
set @Time1= dateadd(MINUTE,-30,getdate())
set @Time2=getdate()
declare @Time11 varchar(50)
declare @Time22 varchar(50)
set @Time11=convert(varchar(50), @Time1,120)
set @Time22=convert(varchar(50), @Time1,120)
select @Time11
select @Time22where Decl_Time between '''+@Time11+''' and '''+ @Time22 +'''
你指这样吧?
declare @Time2 datetime
set @Time1= dateadd(MINUTE,-30,getdate())
set @Time2=getdate()
declare @Time11 varchar(50)
declare @Time22 varchar(50)
set @Time11=convert(varchar(50), @Time1,21)
set @Time22=convert(varchar(50), @Time2,21)
where Decl_Time between '''+@Time11+''' and '''+ @Time22 +'''结果出来了
set @SampleSql='select Focus_Guid,G_Type from 表1 where Decl_Time between '+@Time1+' and '+@Time2
select @SampleSql