select top 1 * from d_liuxiang order by abs(datediff(ms,'2006-08-20',sendate))
如果时间跨度太大,就不要用毫秒,改用秒或者分钟 select top 1 * from d_liuxiang order by abs(datediff(s,'2006-08-20',sendate))or select top 1 * from d_liuxiang order by abs(datediff(mi,'2006-08-20',sendate))
我的时间跨度是看天来算的,是不是该成 select top 1 * from d_liuxiang order by abs(datediff(day,'2006-08-20',sendate)) 这样呢? 另外 这个报syntax error 的错误,小第新手,麻烦大家了
select top 1 * from d_liuxiang order by abs(datediff(day,'2006-08-20',sendate)) 语法无错。如: create table #t(sendate smalldatetime)insert into #t select '2006-08-01' insert into #t select '2006-08-06' insert into #t select '2006-08-15' insert into #t select '2006-08-19' insert into #t select '2006-08-20' insert into #t select '2006-08-21'select * from #tdeclare @dt smalldatetimeset @dt='2006-08-20'select top 1 * from #t order by abs(datediff(day,'2006-08-20',sendate)) drop table #t
order by abs(datediff(ms,'2006-08-20',sendate))
select top 1 * from d_liuxiang
order by abs(datediff(s,'2006-08-20',sendate))or
select top 1 * from d_liuxiang
order by abs(datediff(mi,'2006-08-20',sendate))
select top 1 *
from d_liuxiang
order by abs(datediff(day,'2006-08-20',sendate)) 这样呢?
另外 这个报syntax error 的错误,小第新手,麻烦大家了
from d_liuxiang
order by abs(datediff(day,'2006-08-20',sendate)) 语法无错。如:
create table #t(sendate smalldatetime)insert into #t select '2006-08-01'
insert into #t select '2006-08-06'
insert into #t select '2006-08-15'
insert into #t select '2006-08-19'
insert into #t select '2006-08-20'
insert into #t select '2006-08-21'select * from #tdeclare @dt smalldatetimeset @dt='2006-08-20'select top 1 *
from #t
order by abs(datediff(day,'2006-08-20',sendate)) drop table #t