我正在尝试从上周到现在的日期,它似乎在或>=之间在这里不起作用。
WITH curr_cyc_dt AS (
SELECT BETWEEN TO_DATE ('20181228', 'yyyymmdd') AND TO_DATE ('20190104', 'yyyymmdd') cyc_dt
FROM DUAL
)发布于 2019-01-08 02:12:00
BETWEEN不是这样工作的,它不会自动为你生成一个日期列表。它是一个比较运算符,用于检查日期是否属于日期间隔。
生成过去7天(包括今天)的天数列表的最简单方法是:
WITH curr_cyc_dt AS (
SELECT
CURDATE(),
DATE_SUB(CURDATE(), INTERVAL 1 DAY),
DATE_SUB(CURDATE(), INTERVAL 3 DAY),
DATE_SUB(CURDATE(), INTERVAL 4 DAY),
DATE_SUB(CURDATE(), INTERVAL 5 DAY),
DATE_SUB(CURDATE(), INTERVAL 6 DAY),
DATE_SUB(CURDATE(), INTERVAL 7 DAY)
)
...PS :在MySQL中来自DUAL是多余的
发布于 2019-01-08 03:19:53
set @myDate = CURDATE();
set @rowNumber = 0;
select date_sub(@myDate, interval @rowNumber day),
(@rowNumber := @rowNumber + 1) as rownum
from information_schema.columns
LIMIT 7;https://stackoverflow.com/questions/54079424
复制相似问题