date - SQL Developer 定义日期
问题描述
有没有办法在 SQL Developer 中更改 &_DATE 变量?
每当我运行以下代码时,它只显示今天的日期:DEFINE RUN_DATE = &_DATE
我想找到一种格式化查询的方法,以便找到该月的最后一天。
另外,如果可能的话,将格式更改为显示为 YYMMDD?
解决方案
SQL> select '&_DATE' from dual;
old 1: select '&_DATE' from dual
new 1: select '23-JUN-20' from dual
'23-JUN-2
---------
23-JUN-20
SQL> alter session set NLS_DATE_FORMAT='YYYYMMDD';
Session altered.
SQL> select '&_DATE' from dual;
old 1: select '&_DATE' from dual
new 1: select '20200623' from dual
'2020062
--------
20200623
SQL>
_DATE 被定义为将 SYSDATE 函数的结果存储在数据库中。它的输出基于会话的 NLS_DATE_FORMAT 设置。
或在 SQL Developer 中 -
但是,您想要一个月的最后一天……我们将为您提供 LAST_DAY() 函数!
select LAST_DAY('&_DATE')
from DUAL;
返回“20200630”,因为我们提交了返回 2020 年 6 月 23 日的 _DATE,因此该函数返回 2020 年 6 月的最后一天。
推荐阅读
- c++ - Searching for string in the array and/or structure C++
- ios - SwiftUI Picker 选择绑定未更新
- azure - 生产 Web api 托管、容器的 Web 应用程序还是 azure 容器实例?
- python - `import pandas` 错误为 `ModuleNotFoundError: No module named 'pandas.msgpack'`
- batch-file - 如何在 cmd 中模拟“ENTER”键?
- vue.js - 如何在 Vuex 模块中使用 mapGetters
- javascript - 无法从 localStorage 为我在 Nuxt 中的身份验证初始化 Vuex 存储
- java - 写入和读取 txt 文件
- sql - 在一个表的不同行和不同列中查找相同的值 SQL
- python - 有没有办法更简洁地打印特定数字的倍数?