問題:
從資料庫表格[member] 取得記錄根據date_created屬於上個月
解決方案:
為了高效、準確地檢索上個月的記錄,我們需要避免某些陷阱,並採用以下方法:
使用專屬範圍過濾:
不要使用包含範圍(例如 BETWEEN 運算符),而是使用帶有 > 的排除範圍過濾且
計算月份邊界:
匯出使用適當的日期函數計算上個月和當月的開始。這可以避免由包含上限範圍引起的潛在問題。
範例查詢:
DECLARE @startOfCurrentMonth DATETIME SET @startOfCurrentMonth = DATEADD(month, DATEDIFF(month, 0, CURRENT_TIMESTAMP), 0) SELECT * FROM Member WHERE date_created >= DATEADD(month, -1, @startOfCurrentMonth) AND date_created < @startOfCurrentMonth
此方法防止使用索引、資料損壞,並在指定時間範圍內檢索正確的記錄。
以上是如何從SQL Server表中有效率地檢索上個月的記錄?的詳細內容。更多資訊請關注PHP中文網其他相關文章!