oracle日期函数及相关查询日期所用的函数

2024-05-04 17:08

本文主要是介绍oracle日期函数及相关查询日期所用的函数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、查询本周一和本周日  

select to_date(next_day(sysdate-7,2)) 周一, to_date(next_day(sysdate,1)) 周日 from dual;

2、查询  去年的今天 

SELECT  ADD_MONTHS(to_date(&mytime,'yyyymmdd'), -12) AS "当前时间减一年" FROM dual;

3、相关日期函数

--months_between(date1,date2) 返回date1和date2 之间 间隔多少个月
select months_between(sysdate, to_date('20140202','yyyymmdd')) from dual  --1.31695191158901--add_months(date,number)  指定的日期上增加number 个月
select  add_months(sysdate,1) from  dual   --2014-4-11 19:42:33--last_day(date)   返回日期date 所在月的最后一天select last_day(sysdate) from dual  --2014-3-31 19:44:31-- next_day(day,'day')  下一个星期一  日  
select sysdate  from  dual  --当前日期  2014-3-11 19:28:05select to_char(current_timestamp,'yyyymmdd hh24:mi:ss') from dual   -- 11-3月 -14 07.28.32.150101 下午 +08:00select next_day(sysdate,'星期二') from  dual  --2014-3-18 19:27:16   今天就是星期二select next_day(sysdate,'星期日') from  dual-- 2014-3-16 19:27:37--extract(c1 from d1)  从日期d1中抽取c1指定的年月日时分秒。
select extract(year from date'2011-05-17') year from dual;    --2011select extract(month from date'2011-05-17') month from dual;    --5select extract(day from date'2011-05-17') day from dual;    --17-- 获取两个日期之间的具体时间间隔,extract函数是最好的选择   -- 时间间隔的情况下 只能 算到天  无法再 加到月上。
select  extract(day from dt2-dt1) day   ,extract(hour from dt2-dt1) hour   ,extract(minute from dt2-dt1) minute   ,extract(second from dt2-dt1) second   
from (   select to_timestamp('2011-02-04 15:07:00','yyyy-mm-dd hh24:mi:ss') dt1   ,to_timestamp('2011-05-17 19:08:46','yyyy-mm-dd hh24:mi:ss') dt2   from dual)    select extract(year from systimestamp) year   ,extract(month from systimestamp) month   ,extract(day from systimestamp) day   ,extract(minute from systimestamp) minute   ,extract(second from systimestamp) second   ,extract(timezone_hour from systimestamp) th   ,extract(timezone_minute from systimestamp) tm   ,extract(timezone_region from systimestamp) tr   ,extract(timezone_abbr from systimestamp) ta   
from dual    





http://oracle.chinaitlab.com/induction/817947.html

加法select sysdate,add_months(sysdate,12) from dual;        --加1年select sysdate,add_months(sysdate,1) from dual;        --加1月select sysdate,to_char(sysdate+7,'yyyy-mm-dd HH24:MI:SS') from dual;   --加1星期select sysdate,to_char(sysdate+1,'yyyy-mm-dd HH24:MI:SS') from dual;   --加1天select sysdate,to_char(sysdate+1/24,'yyyy-mm-dd HH24:MI:SS') from dual;  --加1小时select sysdate,to_char(sysdate+1/24/60,'yyyy-mm-dd HH24:MI:SS') from dual;  --加1分钟select sysdate,to_char(sysdate+1/24/60/60,'yyyy-mm-dd HH24:MI:SS') from dual;  --加1秒减法select sysdate,add_months(sysdate,-12) from dual;        --减1年select sysdate,add_months(sysdate,-1) from dual;        --减1月select sysdate,to_char(sysdate-7,'yyyy-mm-dd HH24:MI:SS') from dual;   --减1星期select sysdate,to_char(sysdate-1,'yyyy-mm-dd HH24:MI:SS') from dual;   --减1天select sysdate,to_char(sysdate-1/24,'yyyy-mm-dd HH24:MI:SS') from dual;  --减1小时select sysdate,to_char(sysdate-1/24/60,'yyyy-mm-dd HH24:MI:SS') from dual;  --减1分钟select sysdate,to_char(sysdate-1/24/60/60,'yyyy-mm-dd HH24:MI:SS') from dual;  --减1秒Oracle关于时间/日期的操作1.日期时间间隔操作当前时间减去7分钟的时间select sysdate,sysdate - interval '7' MINUTE from dual当前时间减去7小时的时间select sysdate - interval '7' hour from dual当前时间减去7天的时间select sysdate - interval '7' day from dual当前时间减去7月的时间select sysdate,sysdate - interval '7' month from dual当前时间减去7年的时间select sysdate,sysdate - interval '7' year from dual时间间隔乘以一个数字select sysdate,sysdate - 8 *interval '2' hour from dual2.日期到字符操作select sysdate,to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dualselect sysdate,to_char(sysdate,'yyyy-mm-dd hh:mi:ss') from dualselect sysdate,to_char(sysdate,'yyyy-ddd hh:mi:ss') from dualselect sysdate,to_char(sysdate,'yyyy-mm iw-d hh:mi:ss') from dual参考oracle的相关关文档(ORACLE901DOC/SERVER.901/A90125/SQL_ELEMENTS4.HTM#48515)3. 字符到日期操作select to_date('2003-10-17 21:15:37','yyyy-mm-dd hh24:mi:ss') from dual具体用法和上面的to_char差不多。4. trunk/ ROUND函数的使用select trunc(sysdate ,'YEAR') from dualselect trunc(sysdate ) from dualselect to_char(trunc(sysdate ,'YYYY'),'YYYY') from dual5.oracle有毫秒级的数据类型--返回当前时间 年月日小时分秒毫秒select to_char(current_timestamp(5),'DD-MON-YYYY HH24:MI:SSxFF') from dual;--返回当前 时间的秒毫秒,可以指定秒后面的精度(最大=9)select to_char(current_timestamp(9),'MI:SSxFF') from dual;6.计算程序运行的时间(ms)declaretype rc is ref cursor;l_rc rc;l_dummy all_objects.object_name%type;l_start number default dbms_utility.get_time;beginfor I in 1 .. 1000loopopen l_rc for'select object_name from all_objects '||'where object_id = ' || i;fetch l_rc into l_dummy;


这篇关于oracle日期函数及相关查询日期所用的函数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/959693

相关文章

Kotlin 作用域函数apply、let、run、with、also使用指南

《Kotlin作用域函数apply、let、run、with、also使用指南》在Kotlin开发中,作用域函数(ScopeFunctions)是一组能让代码更简洁、更函数式的高阶函数,本文将... 目录一、引言:为什么需要作用域函数?二、作用域函China编程数详解1. apply:对象配置的 “流式构建器”最

浅谈mysql的sql_mode可能会限制你的查询

《浅谈mysql的sql_mode可能会限制你的查询》本文主要介绍了浅谈mysql的sql_mode可能会限制你的查询,这个问题主要说明的是,我们写的sql查询语句违背了聚合函数groupby的规则... 目录场景:问题描述原因分析:解决方案:第一种:修改后,只有当前生效,若是mysql服务重启,就会失效;

MySQL多列IN查询的实现

《MySQL多列IN查询的实现》多列IN查询是一种强大的筛选工具,它允许通过多字段组合快速过滤数据,本文主要介绍了MySQL多列IN查询的实现,具有一定的参考价值,感兴趣的可以了解一下... 目录一、基础语法:多列 IN 的两种写法1. 直接值列表2. 子查询二、对比传统 OR 的写法三、性能分析与优化1.

Android Kotlin 高阶函数详解及其在协程中的应用小结

《AndroidKotlin高阶函数详解及其在协程中的应用小结》高阶函数是Kotlin中的一个重要特性,它能够将函数作为一等公民(First-ClassCitizen),使得代码更加简洁、灵活和可... 目录1. 引言2. 什么是高阶函数?3. 高阶函数的基础用法3.1 传递函数作为参数3.2 Lambda

JavaScript Array.from及其相关用法详解(示例演示)

《JavaScriptArray.from及其相关用法详解(示例演示)》Array.from方法是ES6引入的一个静态方法,用于从类数组对象或可迭代对象创建一个新的数组实例,本文将详细介绍Array... 目录一、Array.from 方法概述1. 方法介绍2. 示例演示二、结合实际场景的使用1. 初始化二

Python使用date模块进行日期处理的终极指南

《Python使用date模块进行日期处理的终极指南》在处理与时间相关的数据时,Python的date模块是开发者最趁手的工具之一,本文将用通俗的语言,结合真实案例,带您掌握date模块的六大核心功能... 目录引言一、date模块的核心功能1.1 日期表示1.2 日期计算1.3 日期比较二、六大常用方法详

C++中::SHCreateDirectoryEx函数使用方法

《C++中::SHCreateDirectoryEx函数使用方法》::SHCreateDirectoryEx用于创建多级目录,类似于mkdir-p命令,本文主要介绍了C++中::SHCreateDir... 目录1. 函数原型与依赖项2. 基本使用示例示例 1:创建单层目录示例 2:创建多级目录3. 关键注

C++中函数模板与类模板的简单使用及区别介绍

《C++中函数模板与类模板的简单使用及区别介绍》这篇文章介绍了C++中的模板机制,包括函数模板和类模板的概念、语法和实际应用,函数模板通过类型参数实现泛型操作,而类模板允许创建可处理多种数据类型的类,... 目录一、函数模板定义语法真实示例二、类模板三、关键区别四、注意事项 ‌在C++中,模板是实现泛型编程

Oracle存储过程里操作BLOB的字节数据的办法

《Oracle存储过程里操作BLOB的字节数据的办法》该篇文章介绍了如何在Oracle存储过程中操作BLOB的字节数据,作者研究了如何获取BLOB的字节长度、如何使用DBMS_LOB包进行BLOB操作... 目录一、缘由二、办法2.1 基本操作2.2 DBMS_LOB包2.3 字节级操作与RAW数据类型2.

kotlin的函数forEach示例详解

《kotlin的函数forEach示例详解》在Kotlin中,forEach是一个高阶函数,用于遍历集合中的每个元素并对其执行指定的操作,它的核心特点是简洁、函数式,适用于需要遍历集合且无需返回值的场... 目录一、基本用法1️⃣ 遍历集合2️⃣ 遍历数组3️⃣ 遍历 Map二、与 for 循环的区别三、高