我想将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;
感谢所有
答案 0 :(得分:0)
SELECT TOP 1 DATEDIFF(s, [date], GetDate())
FROM myTable
ORDER BY DATEDIFF(s, [date], GetDate())
这会在您的表中的当前(GETDATE())和[日期]之间进行日期减法,在几秒钟内(如果需要,您可以以低于秒的粒度执行此操作)。它按相同的日期顺序排序,按升序排列。顶部1只选择第一条记录 - 这是由于ORDER BY而最接近当前日期的记录。