我想寫一個基本的SQL查詢它輸出3-15個月之間的所有日期從當前日期:如何選擇不使用從表子句的日期範圍?
DATEADD(month, 3, GETDATE()) AND (DATEADD(month, 15, GETDATE()))
美中不足的是雖然沒有從表中進行選擇。我只想執行一個基本的SELECT來獲取日期列表。這可能嗎?
我想寫一個基本的SQL查詢它輸出3-15個月之間的所有日期從當前日期:如何選擇不使用從表子句的日期範圍?
DATEADD(month, 3, GETDATE()) AND (DATEADD(month, 15, GETDATE()))
美中不足的是雖然沒有從表中進行選擇。我只想執行一個基本的SELECT來獲取日期列表。這可能嗎?
下面將幫助你拉兩個日期之間的所有日期。
DECLARE @Date1 DATE, @Date2 DATE
SET @Date1 = '2015-05-28'
SET @Date2 = '2015-06-30'
SELECT DATEADD(DAY,number+1,@Date1) [Date]
FROM master..spt_values
WHERE type = 'P'
AND DATEADD(DAY,number+1,@Date1) < @Date2
真棒,非常感謝你 –
雖然已經有一個被接受的答案,但我提出了一個不依賴於無證和不支持的系統表的替代方案。
declare @Date1 date = '2015-05-28';
declare @Date2 date = '2015-06-30';
declare @Dates table (Date Date);
while @Date1 <= @Date2
begin
insert into @Dates (Date) values (@Date1);
set @Date1 = DateAdd(Day, 1, @Date1);
end
select * from @Dates;
日期這裏的範圍是一組。我不認爲'SELECT'可以在沒有表格的情況下輸出一個集合。 – qxg