当前位置: 首页 > news >正文

oracle中如何查询特定日期?

1.
select last_day(to_date('20230101','YYYYMMDD')) from dual; 
select last_day(to_date(V_END_DATE,'YYYYMMDD')) from dual;   --查询任意一天  当月的最后一天


2.
select to_char(to_date('20230101','YYYYMMDD')-1,'YYYYMMDD') INTO V_START_DATE FROM DUAL;
select to_char(to_date(V_END_DATE,'YYYYMMDD')-1,'YYYYMMDD') INTO V_START_DATE FROM DUAL;  --查询任意一天的前一天
--字符型转日期型 -1 之后再转字符型

3.
select to_char(last_day(add_months(SYSDATE, -2)) + 1,'yyyymmdd') First_DayOfMonth  from dual;  --查询上一个月第一天
select to_char(last_day(add_months(SYSDATE, -1)),'yyyymmdd') Last_DayOfMonth from dual;   --查询上一个月最后一天

4.
select to_number(add_months(trunc(to_date(V_FIRST_DAY,'yyyymmdd'), 'mm'), 1) - trunc(to_date(V_FIRST_DAY,'yyyymmdd'), 'mm'))  into from dual;   --指定月份天数,V_FIRST_DAY为那个月份任意一天

5.
查询指定月份/年份/日期的第一天和最后一天
SELECT TO_CHAR(TRUNC(TO_DATE('2018-06','YYYY-MM'), 'MM'), 'YYYY-MM-DD') "指定日期第一天"  FROM DUAL;
SELECT TO_CHAR(LAST_DAY(TO_DATE('2018-06','YYYY-MM')), 'YYYY-MM-DD') "指定日期最后一天" FROM DUAL;

--年
select trunc(sysdate, 'yy') "当年第一天" from dual;
select trunc(sysdate, 'yyyy') "当年第一天" from dual;
select trunc(sysdate, 'year') "当年第一天" from dual;
--季度
select trunc(sysdate, 'q') "当前季度的第一天" from dual;
select trunc(add_months(sysdate,3), 'Q') -1/24 "这个季度最后一天23点" from dual; 
--月
select trunc(sysdate, 'mm') "当月第一天" from dual;
select trunc(sysdate, 'month') "当月第一天" from dual;
select trunc(last_day(sysdate)+1) "下个月第一天的0点" from dual;
--周
select trunc(sysdate, 'd') "本周的第一天,周日起" from dual; 
select trunc(sysdate,'day') "本周的第一天,周日起" from dual; 
select next_day(TRUNC(SYSDATE ), 'TUESDAY' ) + 12/24 "下个星期二中午12点" from dual;
select TRUNC(LEAST(NEXT_DAY(SYSDATE, 'SATURDAY'), NEXT_DAY(SYSDATE, 'SUNDAY'))) + (6*60+10)/(24*60) "下个周六日早上6点10分" from dual;
--天
select trunc(sysdate+1) "今晚12点" from dual;
select trunc(sysdate+1) + (8*60+30)/(24*60) "明天早上8点30分" from dual;
--时
select trunc(sysdate, 'hh')"当前小时" from dual;  
select trunc(sysdate, 'hh24') "当前小时" from dual; 
--分
select trunc(sysdate, 'mi') "当前分钟" from dual;
select trunc(sysdate,'mi') + 10/ (24*60) "10分钟后的时间"from dual; 
--秒
select sysdate + 10/(24 * 60 * 60) "10秒钟后" from dual;--trunc没有精确到秒的精度

相关文章:

  • 计算机网络——应用层
  • 【稳定检索/投稿优惠】2024年材料科学与能源工程国际会议(MSEE 2024)
  • json.dumps参数
  • 可视化数据科学平台在信贷领域应用系列四:决策树策略挖掘
  • 如何使用 Magisk 获取 Google Pixel 4 或 Pixel 4 XL 的 Root 权限
  • iptables实现端口映射转发
  • APP开发技术的变迁史
  • Cell-在十字花科植物中年生和多次开花多年生开花行为的互相转化-文献精读21
  • 基于CycleGAN的图像风格转换
  • 2024年谷歌SEO如何快速出排名效果抢占首页制高点?
  • 自注意力机学习
  • 【小白专用24.6.8】C#Lambda表达式
  • Linux下线程的互斥与同步详解
  • Python爬虫实战:从入门到精通
  • Jenkins+Rancher2.7部署构建
  • 【Leetcode】101. 对称二叉树
  • CEF与代理
  • css系列之关于字体的事
  • Fundebug计费标准解释:事件数是如何定义的?
  • Git同步原始仓库到Fork仓库中
  • Git学习与使用心得(1)—— 初始化
  • JavaScript异步流程控制的前世今生
  • Java新版本的开发已正式进入轨道,版本号18.3
  • MySQL Access denied for user 'root'@'localhost' 解决方法
  • 阿里云应用高可用服务公测发布
  • 从0实现一个tiny react(三)生命周期
  • 搭建gitbook 和 访问权限认证
  • 给第三方使用接口的 URL 签名实现
  • 开年巨制!千人千面回放技术让你“看到”Flutter用户侧问题
  • 驱动程序原理
  • 小试R空间处理新库sf
  • - 语言经验 - 《c++的高性能内存管理库tcmalloc和jemalloc》
  • ionic异常记录
  • mysql 慢查询分析工具:pt-query-digest 在mac 上的安装使用 ...
  • ​插件化DPI在商用WIFI中的价值
  • ​七周四次课(5月9日)iptables filter表案例、iptables nat表应用
  • ​什么是bug?bug的源头在哪里?
  • ​一帧图像的Android之旅 :应用的首个绘制请求
  • ‌移动管家手机智能控制汽车系统
  • ### RabbitMQ五种工作模式:
  • #HarmonyOS:Web组件的使用
  • (42)STM32——LCD显示屏实验笔记
  • (二) Windows 下 Sublime Text 3 安装离线插件 Anaconda
  • (附源码)ssm教师工作量核算统计系统 毕业设计 162307
  • (南京观海微电子)——I3C协议介绍
  • (三)Pytorch快速搭建卷积神经网络模型实现手写数字识别(代码+详细注解)
  • (十一)图像的罗伯特梯度锐化
  • (一)Kafka 安全之使用 SASL 进行身份验证 —— JAAS 配置、SASL 配置
  • (已解决)vue+element-ui实现个人中心,仿照原神
  • (游戏设计草稿) 《外卖员模拟器》 (3D 科幻 角色扮演 开放世界 AI VR)
  • (转)VC++中ondraw在什么时候调用的
  • (转)可以带来幸福的一本书
  • (自用)仿写程序
  • (自用)网络编程
  • .NET 回调、接口回调、 委托