oracle - 如果提供了日期范围,则返回特定范围内的表中的日志,否则返回表中日期为时间戳的所有日志 ---oracle 查询
问题描述
如果提供了日期范围,则返回特定范围内的表中的数据,否则返回表中日期在时间戳中的所有数据——oracle查询
解决方案
我就是这样理解这个问题的。
基于EMP
包含该hiredate
列的 Scott 表,我将选择某个日期范围内的值。
SQL> alter session set nls_date_format = 'dd.mm.yyyy'
2 /
Session altered.
SQL> select ename, job, hiredate from emp order by hiredate;
ENAME JOB HIREDATE
---------- --------- ----------
SMITH CLERK 17.12.1980
ALLEN SALESMAN 20.02.1981
WARD SALESMAN 22.02.1981
JONES MANAGER 02.04.1981
BLAKE MANAGER 01.05.1981 --> from here ...
CLARK MANAGER 09.06.1981
TURNER SALESMAN 08.09.1981
MARTIN SALESMAN 28.09.1981
KING PRESIDENT 17.11.1981 --> ... to here
JAMES CLERK 03.12.1981
FORD ANALYST 03.12.1981
MILLER CLERK 23.01.1982
SCOTT ANALYST 09.12.1982
ADAMS CLERK 12.01.1983
14 rows selected.
SQL>
Query 使用两个参数:date from (pass 01.05.1981
) 和 date to (pass 17.11.1981
)。这是处理参数为 的可能性的“标准”方式NULL
。示例将在例如 TOAD 或 SQL Developer 中运行良好。
select ename, job, hiredate
from emp
where (hiredate >= :par_date_from or :par_date_from is null)
and (hiredate <= :par_date_to or :par_date_to is null)
order by hiredate;
ENAME JOB HIREDATE
---------- --------- ----------
BLAKE MANAGER 01.05.1981
CLARK MANAGER 09.06.1981
TURNER SALESMAN 08.09.1981
MARTIN SALESMAN 28.09.1981
KING PRESIDENT 17.11.1981
如果两个参数都是NULL
,则返回所有表行。
推荐阅读
- r - 如何用一个表达式替换正则表达式向量?
- freemarker - camunda 变量注入 freemarker 模板占位符时编码丢失
- mocking - 笑话:从节点模块(Axios)模拟相对导入
- html - 当您只有 .svg 文件的本地路径时,仅使用 HTML / CSS 更改 SVG 颜色?
- mysql - SQL - 如何检索一系列数字中的第一个空闲数字
- javascript - 无法从 React 中的子组件调用父组件函数
- microsoft-graph-api - 筛选 Microsoft Graph API
- python - 两个同时进行的 psycopg2 事务
- anylogic - 从 Anylogic 运行结果中保存视频
- node.js - 团队机器人。'createConversation' 方法中的“TypeError:source.on 不是函数”