目前我有:
SELECT timeslot_start_time
, name
, description
, etc
FROM Table1
WHERE Timeslot_start_time >= '2022-02-01'
ORDER BY Timeslot_start_time
Q1。除了手動執行此操作外,有沒有辦法讓表格自動獲取從今天起一個月前的資料?
Q2。此外,我的資料采用以下格式:22-02-15 21:45:00,每 15 分鐘讀取一次資料。有沒有一種方法可以創建一個僅自動過濾過去 24 小時的列(/表或任何最好的)?
Q3。此外,是否可以從特定時間過濾過去 24 小時。例如過濾最后 24 小時到晚上 10 點,所以 10 點到 10 點。
我希望所有這些都有意義
uj5u.com熱心網友回復:
可以使用基本日期算術查詢您的資料:
自動獲取從今天起一個月前的資料?
“一個月”不明確(如過去 30 天、上個月的所有日期等)。但最簡單的定義是使用 dateadd 并讓 SQL Server 決定:
WHERE timeslot_start_time >= DATEADD(MONTH, -1, CURRENT_TIMESTAMP)
僅自動過濾過去 24 小時?
WHERE timeslot_start_time >= DATEADD(DAY, -1, CURRENT_TIMESTAMP)
是否可以從特定時間過濾過去 24 小時。例如過濾最后 24 小時到晚上 10 點,所以 10 點到 10 點。
DECLARE @d2 DATETIME = DATETIMEFROMPARTS(
DATEPART(YEAR, CURRENT_TIMESTAMP),
DATEPART(MONTH, CURRENT_TIMESTAMP),
DATEPART(DAY, CURRENT_TIMESTAMP),
22,
0,
0,
0
);
IF @d2 > CURRENT_TIMESTAMP
-- if 10pm today is in the future then use yesterday
SET @d2 = DATEADD(DAY, -1, @d2);
SELECT ...
WHERE timeslot_start_time >= DATEADD(DAY, -1, @d2)
AND timeslot_start_time < @d2
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/438198.html
上一篇:MySQL時間戳在一個特定的日期時間拋出不正確的日期時間值
下一篇:為什么日期長度回傳Null?
