select * from table1 where uptime>=convert(varchar(10),getdate()-13,120)--13包含當天
create table db ( uptime datetime ) declare @time datetime declare @i int set @i=1 while(@i<20) begin insert db select dateadd(d,-@i,getdate()) set @i=@i+1 end select convert(varchar(10),uptime,120) from db select convert(varchar(10),uptime,120) from db where datediff(d,uptime,getdate())<14 drop table db
如果你用的mysql的话,自带有日期比较的函数的
select * from tb where datediff(week, uptime, select max(uptime) from tb)<2
select * from tb where convert(varchar(10),uptime,120) in( select top 14 distinct convert(varchar(10),uptime,120) from tb order by convert(varchar(10),uptime,120) )
select * from tb where convert(varchar(10),uptime,120) in( select top 14 distinct convert(varchar(10),uptime,120) from tb order by convert(varchar(10),uptime,120) desc )
where datediff(week,uptime,getdate()) < 2
where datediff(week,uptime,getdate()) < 2
select * from tb
where datediff(day, uptime, getdate())<14 and uptime<=convert(varchar(10), getdate(), 120)
就是查出uptime前14前的数据
create table db
(
uptime datetime
)
declare @time datetime
declare @i int
set @i=1
while(@i<20)
begin
insert db select dateadd(d,-@i,getdate())
set @i=@i+1
end
select convert(varchar(10),uptime,120) from db
select convert(varchar(10),uptime,120) from db where datediff(d,uptime,getdate())<14
drop table db
http://sun.51zhuanzhuan.com
in(
select top 14 distinct convert(varchar(10),uptime,120)
from tb
order by convert(varchar(10),uptime,120)
)
in(
select top 14 distinct convert(varchar(10),uptime,120)
from tb
order by convert(varchar(10),uptime,120) desc
)