簡體   English   中英

用於查找日期是否介於其他兩個日期之間的 SQL 查詢

[英]SQL query to find if a date falls between two others

我有一個表,我想在其上運行 SQL 查詢。 我想找到所有狀態為active並將其 interval_type 設置為interval 那部分很好,這是我正在努力解決的下一部分。

我想查找要在 2019 年 12 月 1 日至 2019 年 12 月 6 日之間處理的任何訂單。

困難在於,在我的表中,我有列“間隔”,這可以是 15-75 天之間的數字(並轉換為秒)以及他們的訂單上次處理的時間(也是 unix 時間戳)在名為“的列中”最后處理”。

如果將“間隔”(以秒為單位)添加到“last_processed”(日期),那么新日期是否在 12 月 1 日和 6 日之間。我該怎么做?

SELECT *
FROM subscriptions 
WHERE
    status = 'active' AND
    interval_type = 'interval' AND
    `interval` BETWEEN 1575158400 AND 1575676740;

以下是我的表中的數據:

在此處輸入圖片說明

你可以這樣做

SELECT *,
FROM_UNIXTIME(last_processed+`interval`)
FROM subscriptions
WHERE status = 'active' AND
    interval_type = 'interval'
    AND (last_processed + `interval`) BETWEEN  UNIX_TIMESTAMP('2019-12-01 00:00:00')
    AND   UNIX_TIMESTAMP('2019-12-06 23:59:59');

DBfiddle 示例

下次請改用文本或直接使用 dbfiddle 示例,這樣您就可以更早地得到答案。 這就是為什么我發布了一個最小示例的鏈接。

暫無
暫無

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

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