gpt4 book ai didi

oracle - 如何获取从本月第一天到昨天的数据

转载 作者:行者123 更新时间:2023-12-03 04:02:11 27 4
gpt4 key购买 nike

有谁知道获取从该月第一天到昨天的数据的查询吗?我尝试使用下面的查询,但问题是今天是该月的第一天,因此该值变为 20170201 和 20170131 之间

 select * from a where to_char(DATE,'yyyymmdd') BETWEEN to_char(sysdate,'yyyymm')||'01' and to_char(sysdate-1,'yyyymmdd')

例如:如果今天是 01-02-2017 我想选择从 01-01-2017 到 31-01-2017 的数据,但如果今天是 13-02-2017 我想选择从 01-01- 2017年2月2日至2017年2月12日,谢谢

最佳答案

此问题已根据您的新逻辑进行了更新。下面的查询将在以下条件下保留记录:

  • someDate 介于当月的第一天和昨天之间,或者
  • someDate,当今天是该月的第一天时,落在上个月的任何位置


SELECT *
FROM yourTable
WHERE someDate BETWEEN CASE WHEN EXTRACT(DAY FROM SYSDATE) = 1
THEN TRUNC(SYSDATE-1, 'MONTH')
ELSE TRUNC(SYSDATE, 'MONTH') END AND
CASE WHEN EXTRACT(DAY FROM SYSDATE) = 1
THEN TRUNC(SYSDATE, 'MONTH') - 1
ELSE TRUNC(SYSDATE - 1) END

此查询假设您有一个名为 someDateDATE 列。

关于oracle - 如何获取从本月第一天到昨天的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42196513/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com