[英]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 示例,這樣您就可以更早地得到答案。 這就是為什么我發布了一個最小示例的鏈接。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.