DATEADD()
函數在 SQL 中被用于在給定日期上添加或減去指定的時間單位,然后返回新的日期值
DATEADD()
函數來計算兩個日期之間的差值。例如,要計算兩個日期之間相隔的天數,可以從較大的日期中減去較小的日期。SELECT DATEDIFF(day, '2023-01-01', '2023-01-10') AS DateDifference;
GETDATE()
函數(或其他獲取當前日期的函數)和 DATEADD()
函數來過濾基于當前日期的數據。例如,要篩選出在過去 7 天內創建的記錄,可以使用以下查詢:SELECT * FROM Orders
WHERE OrderDate >= DATEADD(day, -7, GETDATE());
DATEADD()
函數將日期劃分為不同的時間段,如按月、按季度或按年分組。這在報告和數據分析中非常有用。-- 按月分組
SELECT
DATEADD(month, DATEDIFF(month, 0, OrderDate), 0) AS Month,
COUNT(*) AS TotalOrders
FROM Orders
GROUP BY DATEADD(month, DATEDIFF(month, 0, OrderDate), 0);
SELECT DATEADD(month, DATEDIFF(month, 0, GETDATE()), 0) AS FirstDayOfMonth;
DATEADD()
函數生成日期序列。例如,要生成未來 90 天的日期序列,可以使用以下查詢:WITH DateSequence AS (
SELECT CAST(GETDATE() AS date) AS DateValue
UNION ALL
SELECT DATEADD(day, 1, DateValue)
FROM DateSequence
WHERE DateValue< DATEADD(day, 90, GETDATE())
)
SELECT * FROM DateSequence;
這些僅僅是 DATEADD()
函數在 SQL 中應用的一些例子。實際應用場景可能因數據庫類型和具體需求而異。