我正在使用在这里找到的递归 CTE 来获取某个范围内的日期:
WITH T(d)
AS
(
SELECT @DateFrom
UNION ALL
SELECT CAST(DateAdd(DD,1,T.d) AS DATETIME) FROM T WHERE T.d < @DateTo
)
SELECT d FROM T OPTION (MAXRECURSION 32767);
此 CTE 在我的 SQL Server 上运行良好,但是当尝试在 Report Builder 3.0 中使用此查询创建数据集时,我得到了“定义查询参数”对话框(我通常不会得到),单击“确定”后出现错误:Types don't match between the anchor and the recursive part in column "d" of recursive query "T".
我知道return ,我虽然 Report Builder 传递了进去 ,所以我认为将返回值转换DATEADD
为a会解决它,但它没有。SMALLDATETIME
DATETIME
@DateFrom
DATEADD
DATETIME
我在这里想念什么?