簡體   English   中英

SQL-查找最接近當前日期的日期

[英]SQL - Find date closest to current date

我的SQL查詢有問題。 我得到了這張桌子:

insert into Table1 (date, personssn)
insert ('2012-01-21 12:01:33', '123456789');
insert into Table1 (date, personssn)
insert ('2012-02-22 12:01:33', '123456789');

問題是我想選擇日期離當前日期最近的人員。 我一直在使用“ CURDATE()”,但似乎無法使其正常工作。 有人可以在正確的方向幫助我嗎?

謝謝。

select  *
from    Table1
order by
        abs(now() - date) desc
limit   1

使用datediff。 這是兩個日期之間的返回差額。

SELECT date,personssn FROM Table1 ORDER BY ABS( DATEDIFF(DATE, NOW() ) ) LIMIT 5

通過以下簡單命令嘗試:

SELECT date,personssn FROM Table1 ORDER BY date desc

就像是:

with myCTE as (
SELECT to_date('21-Jan-2012 12:00') as mydate, '123456789' as myId FROM DUAL UNION
Select to_date('22-Feb-2012 12:00') as mydate, '123456789' FROM DUAL )
Select abs(sysdate-mydate) as diff, mydate, myID from myCTE order by diff

但這是oracle ..我不確定mysql文本。

使用MAX(date),如果您只希望輸出一行,否則請使用date <= sysdate,否則如何定義sysdate的衣櫥。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM