首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Sysdate减去2个不同的日子

Sysdate减去2个不同的日子
EN

Stack Overflow用户
提问于 2014-03-06 16:36:05
回答 1查看 2.3K关注 0票数 2

我目前正在为一个场景运行这个查询,但我有两个场景:如果SYSDATE = have,那么运行“SYSDATE-2”,否则运行“SYSDATE-1”。我通过Excel的OLE连接连接到数据库,所以我不确定是否可以使用存储过程。是否有一种方法可以编写查询以完成这两种情况?谢谢你的帮助。

代码语言:javascript
复制
SELECT 
   DISTINCT VERSION_NAME VERSION, MIN(RECONCILE_START_DT) DATES
FROM
   SDE.GDBM_RECONCILE_HISTORY
WHERE
    RECONCILE_RESULT = 'Conflicts'
AND
    RECONCILE_START_DT > SYSDATE -1
GROUP BY VERSION_NAME
ORDER BY 2 ASC NULLS LAST
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-06 18:43:04

您可以在WHERE条件下使用CASE语句减去星期一2次或一周剩余时间1次。TO_CHAR(日期,'D')从周日= 1开始交付一周中的一天,因此星期一是2。

试试这个:

代码语言:javascript
复制
SELECT
    VERSION_NAME AS VERSION,
    MIN(RECONCILE_START_DT) AS DATES
FROM
   SDE.GDBM_RECONCILE_HISTORY
WHERE
    RECONCILE_RESULT = 'Conflicts'
AND
    RECONCILE_START_DT > SYSDATE -
        CASE TO_CHAR(SYSDATE, 'D')
            WHEN '2' THEN 2
            ELSE 1 END

GROUP BY VERSION_NAME
ORDER BY 2 ASC NULLS LAST

而且,您不需要使用DISTINCT关键字,因为您已经在使用GROUP。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22230473

复制
相关文章

相似问题

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