簡體   English   中英

當僅給定年份或僅年份和月份時,如何在MySQL中找到距給定日期最近(在時間上)的條目?

[英]How to find in MySQL the nearest (time wise) entry to a given date when only given year or only year and month?

這與已經回答的問題非常相似(我現在無法重新查找),但是答案只有在您有完整的日期(年,月和日)時,才能讓您獲得最近的條目。

我將使用DATEDIFF並構造一個日期字符串,假設“ 01”作為日/月。 不好,但是應該可以。

一個簡單的ABS(DATEDIFF())可能正是需要的。 但是,例如,給定參考日期為“ 2009”,2009/01/10或2008/12/31是返回的正確日期嗎? 根據您的要求,您可以使用句點的中間或結尾,而不是開始。

另一個考慮因素是如果多個日期與參考日期距離相等,該怎么辦。 以“ 2009”作為參考日期,最接近的日期是:2009/06/30或2009/07/01? 一種解釋可能是兩者與2009年(零年)的距離是相同的。 您是否需要制定一些規則以僅選擇一個日期(可能很簡單,就像選擇第一個日期一樣),還是要報告所有“等距”日期?

暫無
暫無

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

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