我想一起比较MMSQL日期,我想检索从现在开始的最近日期。
这是我的mssql日期数据的示例: 2013-01-23 09:34:03.000
我的桌子是这样的:
NAME : myTable
Column:
- nameUpdate (VARCHAR(255))
- date (DATETIME)
这是我到目前为止所做的,但它不起作用。
$query = "SELECT date FROM myTable";
$res_mnem = mssql_query($query) or die(mssql_get_last_message() . "[ " . $query . " ]");
$latestDate = "";
if (!mssql_num_rows($query)) {
while ($row = mssql_fetch_array($res_mnem)) {
if($latestDate == ""){
$latestDate = $row["date"];
}
elseif($row["date"] > $latestDate){
$latestDate = $row["date"];
}
}
}
echo $latestDate;
感谢大家
SELECT TOP 1 DATEDIFF(s, [date], GetDate())
FROM myTable
ORDER BY DATEDIFF(s, [date], GetDate())
这会在表中的当前 (GETDATE()) 和 [date] 之间执行日期减法,以秒为单位(如果需要,您可以使用比秒更低的粒度进行)。 它按相同的日期差异按升序排序。 前 1 个仅选择第一条记录 - 由于 ORDER BY,这是最接近当前日期的记录。