首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >优化使用日期进行筛选和连接的SQL查询

优化使用日期进行筛选和连接的SQL查询
EN

Stack Overflow用户
提问于 2017-10-26 14:35:01
回答 1查看 83关注 0票数 3

我有一个SQL查询,我需要优化它,因为现在它似乎永远都在运行。我已经运行了5个多小时,但它似乎还没有结束。

代码语言:javascript
复制
SELECT 
a.HD_ID,
CASE WHEN date_from > b.date_tag THEN date_from
        ELSE b.date_tag
END date_from1,
CASE WHEN trunc(date_to)=b.date_tag THEN date_to
        ELSE b.date_tag + interval '23 hours, 59 minutes,59 seconds'
END date_to1
FROM table1 a
JOIN table2 b
ON (b.date_tag between trunc(date_from) and date_to) 
WHERE a.first_date between '2015-08-11' and sysdate-3;

我认为这个问题是由于日期字段的原因,但我不知道有什么方法可以优化日期操作。有没有人能帮我一下?

EN

回答 1

Stack Overflow用户

发布于 2018-04-06 19:20:49

请尝试:

代码语言:javascript
复制
SELECT 
a.HD_ID,
CASE WHEN date_from > b.date_tag THEN date_from
ELSE b.date_tag
END date_from1,
CASE WHEN trunc(date_to)=b.date_tag THEN date_to
ELSE b.date_tag + interval '23 hours, 59 minutes,59 seconds'
END date_to1
FROM table1 a
JOIN table2 b
ON trunc(date_from) >= b.date_tag <= date_to
WHERE '2015-08-11' >= a.first_date <= sysdate-3;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46947336

复制
相关文章

相似问题

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