oracle - Oracle Apex - 按下按钮时更改 SQL 查询
问题描述
是否可以使用按钮更改查询的日期范围(在 date1 和 date2 之间)?基本上,我有一张卡片显示总销售额,具体取决于选择了今天、本周、本月这些按钮中的哪一个。我只想使用 1 张卡片来显示结果。不是隐藏其他卡片的肮脏方式。这适用于 Oracle Apex 5.x
谢谢。
解决方案
您可以创建两个隐藏项(假设它是第 1 页),P1_DATE_FROM
并P1_DATE_TO
通过按下这些按钮来设置它们的值(例如,通过动态操作,使用“设置值”)。
那么查询将是
where date_column between :P1_DATE_FROM and :P1_DATE_TO
或者,如果您从 3 个按钮切换到具有 3 个单选按钮的单选按钮组(其值为 1 = 今天,2 = 本周,3 = 本月),那么您可以将其重写为
where date_column between
case when :P1_RADIO = 1 then trunc(sysdate)
when :P1_RADIO = 2 then trunc(sysdate) - 7
when :P1_RADIO = 3 then trunc(sysdate, 'mm')
end
--
and
--
case when :P1_RADIO = 1 then trunc(sysdate) + 1
when :P1_RADIO = 2 then trunc(sysdate) + 1
when :P1_RADIO = 3 then add_months(trunc(sysdate, 'mm'), 1)
end
这些值可能需要更改,具体取决于您DATE_COLUMN
真正包含的内容,以及“今天”或“本周”或“本月”的真正含义。
推荐阅读
- java - Statement.setQueryTimeout 不适用于 Oracle 18c jdbc 驱动程序
- vb.net - vb.net在以最大化形式绘制线条(使用XNA)时避免放大图片框
- python - 拥抱脸:NameError:未定义名称“句子”
- c++ - QT - Lambda-Capture by reference - qmlRegisterSingletonType
- pytest - Pytest:将多个参数传递给夹具
- r - Global Moran's I in R 使用 spdep 包
- python-3.x - Tkinter 条件格式:如果先前的值不相等,则更改颜色?
- java - 如何在spring boot中发送多个requestparams
- c - 使用 SPI for Postgres 时如何拆分记录(用于扩展)
- node.js - BEP-20 代币交易中被低估的交易