我们的考勤数据库是 Pervasive/Actian Zen 数据库。我正在尝试做的是创建一个仅列出从今天起接下来的 14 天的查询。然后,我会将这个日期列表与员工记录交叉应用,这样实际上我就有了接下来 14 天的人员/日期列表。
我已经很容易地在 SQL 服务器上使用递归 CTE 完成了它。我也可以使用 SQL Server 中的循环来实现,但我无法使用 Pervasive SQL 来解决。循环只能存在于存储过程和触发器中。
环顾四周,我认为我发现并改编的这段代码可能有效,但它没有(进一步的研究表明 Pervasive 中根本没有递归选项。
WITH RECURSIVE cte_numbers(n, xDate)
AS (
SELECT
0, CURDATE() + 1
UNION ALL
SELECT
n+1,
dateAdd(day,n,xDate)
FROM
cte_numbers
WHERE n < 14
)
SELECT
xDate
FROM
cte_numbers;
我只是想知道是否有人可以帮助我编写一个 SQL 查询,在存储过程之外给我这个日期列表。