sql - 如何从 sysdate 中减去 30 天并排除小时数
问题描述
我正在尝试从 sysdate 中减去 30 天
我正在使用的查询是(sysdate - 30)。但是,这包括当前的 sysdate 小时和分钟。
我希望它包含 sysdate 为 -30 的所有数据,而不指定小时和分钟。
解决方案
例如:
SQL> alter session set nls_Date_format = 'dd.mm.yyyy hh24:Mi:ss';
Session altered.
SQL> select sysdate,
2 sysdate - 30 thirty_days_ago,
3 trunc(sysdate - 30) truncated
4 from dual;
SYSDATE THIRTY_DAYS_AGO TRUNCATED
------------------- ------------------- -------------------
26.09.2019 11:10:18 27.08.2019 11:10:18 27.08.2019 00:00:00
SQL>
如果你想在没有时间分量的情况下显示alter session
它,或者再次(但使用不同的数据格式,例如dd.mm.yyyy
),或者应用TO_CHAR
函数:
SQL> select to_char(trunc(sysdate - 30), 'dd.mm.yyyy') without_time
2 from dual;
WITHOUT_TI
----------
27.08.2019
SQL>
推荐阅读
- javascript - 做出反应。无法访问本地 5000 上的 API 数据。来自 CSV 文件的数据库。承诺未定义的响应
- javascript - Javascript 地图运算符
- mysql - 如何在 Flask main.py 中设置 MySQL 配置变量?
- java - 服务器存储 - Java
- python - OpenCV 不会流式传输/更新我的视频。如何更新 iimshow 窗口?
- android - 前台服务启动一次并在点击时显示活动
- c++ - 我是否必须在 std::async 未来调用 get 或等待
- python - 如何使用 python 键盘发送媒体键,如“暂停”或某事?
- c# - 无法从 Foreach 内的列表中提取字段值
- python - Pytorch 神经网络,理解全连接层