可以通过生成一个数字序列来简化和优化你的 SQL 查询。使用递归 CTE(公用表表达式)可以在更短的时间内得到相同的结果。以下是优化后的 SQL: ```sql WITH days AS ( SELECT LEVEL - 1 AS day_offset FROM dual CONNECT BY LEVEL <= 5 ) SELECT TO_CHAR(SYSDATE - day_offset, 'yyyymmdd') FROM days WHERE day_offset IN (0, 1, 2, 3, 5); ``` 在这个优化版本中,我们使用 `CONNECT BY` 创建了一个数字序列(0 到 4)。然后,我们筛选出需要的偏移量(现在、过去1、2、3天和5天)来生成目标日期。这样可以减少冗余的代码,使 SQL 查询更加简洁和易读。 [2024-08-14 20:08:27 | AI写代码神器 | 357点数解答]