declare @time1 date = '2012-9-1' declare @time2 date = '2012-9-5'select * from sending where 时间列 >= @time1 and 时间列 < @time2
select left(convert(varchar(25),time1,120),10)+' 00:00:00' as time1,left(convert(varchar(25),time2,120),10)+' 23:59:59' as time2 from sending -->有个测试结果,time1和time2用的是getdate() /* time1 time2 ----------------------------- ----------------------------- 2012-09-07 00:00:00 2012-09-07 23:59:59 */
如果time1,time2字段本身不是datetime型 如下: select time1=convert(varchar(8),time1,120)+' 00:00:00' ,time2=convert(varchar(8),time2,120)+' 23:59:59' from Sending
想要的代码是:Select * from Sending where submittime >=Time1 and Time2<=submittime 其中的Time1和Time2该怎么写才能查询到 2012-9-1 00:00:00 到2012-9-5 23:59:59的数据?
select * from Sending where submittime between convert(varchar(8),time1,120)+' 00:00:00' and convert(varchar(8),time2,120)+' 23:59:59' --orSelect * from Sending where submittime >=convert(varchar(8),time1,120)+' 00:00:00' and Time2<=convert(varchar(8),time2,120)+' 23:59:59' from Sending
@time1 ='2012-09-01 00:00:00' @time2 ='2012-09-05 23:59:59' Select * from Sending where submittime between @Time1 and @Time2
declare @time1 datetime declare @time2 datetimeset @time1='2012-9-1 00:00:00' set @time2='2012-9-5 23:59:59'select * from sending where submittime>=@time1 and submittime<=@time2
如果你的submittime 是datetime类型 可以直接如下查询declare @Time1 datetime,@Time2 datetime set @Time1='2012-9-1' set @Time2='2012-9-5' Select * from Sending where submittime >dateadd(dd,-1,@Time1) and submittime< dateadd(dd,1,@Time12)
declare @Time1 datetime,@Time2 datetime set @Time1='2012-9-1 00:00:00' set @Time2='2012-9-5 23:59:59'select * from sending where submittime>=@time1 and submittime<=@time2 --or select * from sending where submittime between @Time1 and @Time2
declare @time2 date = '2012-9-5'select *
from sending
where 时间列 >= @time1
and 时间列 < @time2
from sending
-->有个测试结果,time1和time2用的是getdate()
/*
time1 time2
----------------------------- -----------------------------
2012-09-07 00:00:00 2012-09-07 23:59:59
*/
如下:
select time1=convert(varchar(8),time1,120)+' 00:00:00' ,time2=convert(varchar(8),time2,120)+' 23:59:59'
from Sending
where submittime between convert(varchar(8),time1,120)+' 00:00:00' and convert(varchar(8),time2,120)+' 23:59:59' --orSelect * from Sending where submittime >=convert(varchar(8),time1,120)+' 00:00:00' and Time2<=convert(varchar(8),time2,120)+' 23:59:59'
from Sending
@time2 ='2012-09-05 23:59:59'
Select * from Sending where submittime between @Time1 and @Time2
declare @time1 datetime
declare @time2 datetimeset @time1='2012-9-1 00:00:00'
set @time2='2012-9-5 23:59:59'select * from sending
where submittime>=@time1 and submittime<=@time2
set @Time1='2012-9-1'
set @Time2='2012-9-5'
Select * from Sending where submittime >dateadd(dd,-1,@Time1) and submittime< dateadd(dd,1,@Time12)
declare @Time1 datetime,@Time2 datetime
set @Time1='2012-9-1 00:00:00'
set @Time2='2012-9-5 23:59:59'select * from sending
where submittime>=@time1 and submittime<=@time2
--or
select * from sending
where submittime between @Time1 and @Time2
只是你写错了
改成 Select * from Sending where submittime >=Time1 and Time2>=submittime--后面一个大于等于号的方向反了