首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用DUAL表中的小于等于或介于函数?

如何使用DUAL表中的小于等于或介于函数?
EN

Stack Overflow用户
提问于 2019-01-08 01:57:28
回答 2查看 34关注 0票数 0

我正在尝试从上周到现在的日期,它似乎在或>=之间在这里不起作用。

代码语言:javascript
运行
复制
WITH curr_cyc_dt AS (
    SELECT BETWEEN TO_DATE ('20181228', 'yyyymmdd') AND TO_DATE ('20190104', 'yyyymmdd') cyc_dt 
    FROM DUAL
)
EN

回答 2

Stack Overflow用户

发布于 2019-01-08 02:12:00

BETWEEN不是这样工作的,它不会自动为你生成一个日期列表。它是一个比较运算符,用于检查日期是否属于日期间隔。

生成过去7天(包括今天)的天数列表的最简单方法是:

代码语言:javascript
运行
复制
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是多余的

票数 0
EN

Stack Overflow用户

发布于 2019-01-08 03:19:53

代码语言:javascript
运行
复制
set @myDate = CURDATE();
set @rowNumber = 0;

select date_sub(@myDate, interval @rowNumber day),
(@rowNumber := @rowNumber + 1) as rownum
  from information_schema.columns
LIMIT 7;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54079424

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档