日期:2014-05-18  浏览次数:20438 次

返回与“当前时间最近”的记录
在表“TableTest”中有一个字段“DATime”,它是“datetime”类型的。现在想查“DATime字段”与“当前时间”最相近的一条记录。比如:
“2012-03-15 14:24:00.000” “300Kg”
“2012-03-15 14:25:00.000” “400Kg”

两条记录。

现在传入“C#”(“不知.net 下“DateTime 字符串”和“SqlServer”一致否?)下的“DataTime”时间类型“2012-03-15 14:27:00”

问题:现在取时间最相近的,也就是“2012-03-15 14:25:00.000”的记录,应该怎么办?

------解决方案--------------------
SQL code

--> 测试数据:[tbl]
if object_id('[tbl]') is not null drop table [tbl]
create table [tbl]([日期] datetime,[重量] varchar(5))
insert [tbl]
select '2012-03-15 14:24:00.000','300Kg' union all
select '2012-03-15 14:25:00.000','400Kg'

select [日期],[重量] from(
select ROW_NUMBER()over(order by datediff(mi,[日期],getdate())) as id,
* from tbl) a where id=1

/*
日期    重量
2012-03-15 14:25:00.000    400Kg
*/

MSSQL日期格式默认是这样的:yyyy-mm-dd hh:mi:ss.xxx
不知道asp.net中是什么样的

------解决方案--------------------
探讨
在表“TableTest”中有一个字段“DATime”,它是“datetime”类型的。现在想查“DATime字段”与“当前时间”最相近的一条记录。比如:
“2012-03-15 14:24:00.000” “300Kg”
“2012-03-15 14:25:00.000” “400Kg”

两条记录。

现在传入“C#”(“不知.net 下“DateTim……

------解决方案--------------------
探讨
在表“TableTest”中有一个字段“DATime”,它是“datetime”类型的。现在想查“DATime字段”与“当前时间”最相近的一条记录。比如:
“2012-03-15 14:24:00.000” “300Kg”
“2012-03-15 14:25:00.000” “400Kg”

两条记录。

现在传入“C#”(“不知.net 下“DateTime 字符串”和“SqlSer……

------解决方案--------------------
那句的意思就是按照表里日期与当前日期做差,按照差的从小到大排序,排在第一位的肯定就是离当前日期最近的日期了
------解决方案--------------------
数据库中getdate()就是获取系统当前日期
------解决方案--------------------
SQL code

select top(1)* from TableTest order by DATime desc

------解决方案--------------------
探讨
在表“TableTest”中有一个字段“DATime”,它是“datetime”类型的。现在想查“DATime字段”与“当前时间”最相近的一条记录。比如:
“2012-03-15 14:24:00.000” “300Kg”
“2012-03-15 14:25:00.000” “400Kg”

两条记录。

现在传入“C#”(“不知.net 下“DateTime 字符串”和“SqlSer……