我想datetime
在 SQL Server 2000 中生成范围。我想要与 2000、2005 和 2008 兼容的东西。如果它与 2012 兼容,那就太好了。
所以,我在这里找到了答案——在日期范围之间生成日期。但是,我想要两列而不是 1。我想要一个开始日期列和一个结束日期列。如何修改下面的查询以获取它?
-- Declarations
DECLARE @dates TABLE(dt datetime)
DECLARE @dateFrom datetime
DECLARE @dateTo datetime
SET @dateFrom = '2001/01/01'
SET @dateTo = '2001/01/12'
-- Query:
WHILE(@dateFrom < @dateTo)
BEGIN
SELECT @dateFrom = DATEADD(day, 1,@dateFrom)
INSERT INTO @dates
SELECT @dateFrom
END
-- Output
SELECT * FROM @dates
我的代码 -
DECLARE @dates TABLE(StartDate datetime, EndDate datetime)
DECLARE @dateFrom datetime
DECLARE @dateTo datetime
DECLARE @StartDate datetime
DECLARE @EndDate datetime
SET @dateFrom = '2001/01/01'
SET @dateTo = '2001/01/12'
WHILE(@dateFrom < @dateTo)
BEGIN
SELECT @dateFrom, @dateFrom = DATEADD(day, 1,@dateFrom)
INSERT INTO @dates
SELECT @dateFrom
END
SELECT * FROM @dates
错误 - 为变量赋值的 SELECT 语句不得与数据检索操作结合使用。