首页 > 数据库 >oracle日期和时间类函数

oracle日期和时间类函数

时间:2023-04-20 23:44:41浏览次数:48  
标签:函数 示例 -- 08 30 日期 2022 oracle DUAL

Oracle 中所有的日期和时间类函数:

  1. SYSDATE:返回当前日期和时间

  2. CURRENT_DATE:返回当前日期

  3. CURRENT_TIMESTAMP:返回当前的日期和时间戳

  4. LOCALTIMESTAMP:返回当前时间戳

  5. TIMESTAMPADD :在日期上增加一定的数量

  6. TIMESTAMPDIFF :计算两个日期之间的时间差

  7. EXTRACT: 从日期时间值中提取子秒、日、周、月、季度、年等部分

  8. DATE_TRUNC: 对日期时间值进行截取,保留到指定的精度

  9. ADD_MONTHS: 在日期中加上几个月

  10. LAST_DAY: 返回指定月份的最后一天

  11. MONTHS_BETWEEN:计算两个日期相差的月份

  12. NEW_TIME:将一个时间从一个时区转移到另一个时区

  13. NEXT_DAY:返回指定日期后的第一个指定星期几

  14. ROUND:按指定精度四舍五入日期或时间

  15. TRUNC : 截断日期或时间,去掉指定精度后的部分

  16. TO_CHAR :将日期或时间转换为指定格式的字符串

  17. TO_DATE: 将字符串转换为 DATE 类型

  18. TO_TIMESTAMP:将字符串转换为 TIMESTAMP 类型

  19. TRUNCATE:截取日期或时间

  20. NUMTOYMINTERVAL 将数字转换为表示日时分秒时间间隔的 INTERVAL DAY TO SECOND 类型

  21. FROM_TZ :将 TIMESTAMP 转换成带有时区信息的 TIMESTAMP WITH TIME ZONE 类型

  22. EXTRACT(XMLTYPE)用于从 XMLTYPE 值中提取日期、时间等信息

     

sql使用示例

1.SYSDATE

函数说明:返回当前系统时间 示例:

SELECT SYSDATE FROM DUAL;
-- 输出:2022-08-30 14:37:06

2.CURRENT_DATE

函数说明:返回当前日期 示例:

SELECT CURRENT_DATE FROM DUAL;
-- 输出:2022-08-30

3.CURRENT_TIMESTAMP

函数说明:返回当前日期和时间戳 示例:

SELECT CURRENT_TIMESTAMP FROM DUAL;
-- 输出:2022-08-30 14:37:06.146453

4.LOCALTIMESTAMP

函数说明:返回当前时间戳 示例:

SELECT LOCALTIMESTAMP FROM DUAL;
-- 输出:2022-08-30 14:37:06.148257

5.TIMESTAMPADD

函数说明:在日期上增加一定的数量 示例:

SELECT TIMESTAMPADD('DAY', 7, '2022-08-30') FROM DUAL;
-- 输出:2022-09-06 00:00:00.000000

6.TIMESTAMPDIFF

函数说明:计算两个日期之间的时间差 示例:

SELECT TIMESTAMPDIFF('SECOND', '2022-08-29 20:10:00', '2022-08-30 14:30:00') FROM DUAL;
-- 输出:72400

7.EXTRACT

函数说明:从日期时间值中提取子秒、日、周、月、季度、年等部分 示例:

SELECT EXTRACT(DAY FROM TIMESTAMP '2022-08-30 20:30:50') FROM DUAL;
-- 输出:30

8.DATE_TRUNC

函数说明:对日期时间值进行截取,保留到指定的精度 示例:

SELECT DATE_TRUNC('MINUTE', TIMESTAMP '2022-08-30 16:20:29') FROM DUAL;
-- 输出:2022-08-30 16:20:00.000000

9.ADD_MONTHS

函数说明:在日期中加上几个月 示例:

SELECT ADD_MONTHS(TO_DATE('2022-08-30', 'YYYY-MM-DD'), 3) FROM DUAL;
-- 输出:2022-11-30

10.LAST_DAY

函数说明:返回指定月份的最后一天 示例:

SELECT LAST_DAY(TO_DATE('2022-08-30', 'YYYY-MM-DD')) FROM DUAL;
-- 输出:2022-08-31

11.MONTHS_BETWEEN

函数说明:计算两个日期相差的月份 示例:

SELECT MONTHS_BETWEEN(TO_DATE('2022-10-01', 'YYYY-MM-DD'), TO_DATE('2022-06-01', 'YYYY-MM-DD')) FROM DUAL;
-- 输出:4

12.NEW_TIME

函数说明:将一个时间从一个时区转移到另一个时区 示例:

SELECT NEW_TIME(TO_DATE('2022-08-30 16:30:00', 'YYYY-MM-DD HH24:MI:SS'), 'EST', 'CST') FROM DUAL;
-- 输出:2022-08-30 15:30:00.000000

13.NEXT_DAY

函数说明:返回指定日期后的第一个指定星期几 示例:

SELECT NEXT_DAY(TO_DATE('2022-08-30', 'YYYY-MM-DD'), 'FRIDAY') FROM DUAL;
-- 输出:2022-09-02

14.ROUND

函数说明:按指定精度四舍五入日期或时间 示例:

SELECT ROUND(TO_DATE('2022-08-30 15:45:30', 'YYYY-MM-DD HH24:MI:SS'), 'HOUR') FROM DUAL;
-- 输出:2022-08-30 16:00:00.000000

15.TRUNC

函数说明:截断日期或时间,去掉指定精度后的部分 示例:

SELECT TRUNC(TO_DATE('2022-08-30 15:45:30', 'YYYY-MM-DD HH24:MI:SS'), 'HOUR') FROM DUAL;
-- 输出:2022-08-30 15:00:00.000000

16. TO_CHAR

函数说明:将日期或时间转换为指定格式的字符串 示例:

SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD') FROM DUAL;
-- 输出:2022-08-30

17.TO_DATE

函数说明:将字符串转换为 DATE 类型 示例:

SELECT TO_DATE('2022-08-30', 'YYYY-MM-DD') FROM DUAL;
-- 输出:2022-08-30

18.TO_TIMESTAMP

函数说明:将字符串转换为 TIMESTAMP 类型 示例:

SELECT TO_TIMESTAMP('2022-08-30 16:30:00', 'YYYY-MM-DD HH24:MI:SS') FROM DUAL;
-- 输出:2022-08-30 16:30:00.000000

19.TRUNCATE

函数说明:截取日期或时间 示例:

SELECT TRUNCATE(TO_DATE('2022-08-30 16:30:15', 'YYYY-MM-DD HH24:MI:SS'), 'HH') FROM DUAL;
-- 输出:2022-08-30 16:00:00.000000

20.NUMTODSINTERVAL

函数说明:将数字转换为表示日时分秒时间间隔的 INTERVAL DAY TO SECOND 类型 示例:

SELECT NUMTODSINTERVAL(180, 'SECOND') FROM DUAL;
-- 输出:+00 00:03:00.000000

21.FROM_TZ

函数说明:将 TIMESTAMP 转换成带有时区信息的 TIMESTAMP WITH TIME ZONE 类型 示例:

SELECT FROM_TZ(TIMESTAMP '2022-08-30 14:56:20', 'America/New_York') FROM DUAL;
-- 输出:30-AUG-2022 02.56.20.000000000 PM AMERICA/NEW_YORK

22.EXTRACT(XMLTYPE)

函数说明:用于从 XMLTYPE 值中提取日期、时间等信息 示例:

SELECT EXTRACT(XMLTYPE('<book><title>Open Database Connectivity - ODBC</title><pubDate>2000-12-01T00:00:00Z</pubDate></book>'), '/book/pubDate/text()') FROM DUAL;
-- 输出:2000-12-01T00:00:00Z
 

标签:函数,示例,--,08,30,日期,2022,oracle,DUAL
From: https://www.cnblogs.com/zouzhibin/p/17338807.html

相关文章

  • Django笔记二十六之数据库函数之数学公式函数
    本文首发于公众号:Hunter后端原文链接:Django笔记二十六之数据库函数之数学公式函数这一篇来介绍一下公式函数,主要是数学公式。其中sin,cos这种大多数情况下用不上的就不介绍了,主要介绍下面几种:Abs()绝对值Ceil()向上取整Floor()向下取整Mod()取余Power()乘方Roun......
  • Java Long对象对比,用equals函数
    文章目录一、前文二、调试三、后记一、前文同事问我一个问题,我咋一看也愣住了代码:if(ObjectUtil.isNotNull(temp.getUserId())&&temp.getUserId()!=SecurityUtils.getUserId()){logger.error(temp.toString());logger.error("SecurityUtils.getUserId()="+Secur......
  • 指针配合数组和函数案例(冒泡排序)
    #include<iostream>usingnamespacestd;voidmaopao(int*arr,intlen){ for(inti=0;i<len-1;i++) { for(intj=0;j<len-i-1;j++) { if(arr[j]>arr[j+1]) { inttemp=arr[j]; arr[j]=arr[j+1]; arr[j+1]=temp; } } }}voidprintf(int*arr,in......
  • C#基础 readonly 构造函数初始化readonly字段
     .NETFramework:4.7.2       IDE:VisualStudioCommunity2019        OS:Windows10x64    typesetting:Markdown 基础代码codeusingSystem;namespaceConsoleApp{classMyClass{privatereadonlystringstr;pu......
  • C#基础 ref out 函数参数 不算重载的简单示例
     .NETFramework:4.7.2       IDE:VisualStudioCommunity2019        OS:Windows10x64    typesetting:Markdown codeusingSystem;namespaceConsoleApp{classProgram{staticvoidMain(string[]args){......
  • C#基础 out 函数参数为out int类型 简单示例
     .NETFramework:4.7.2       IDE:VisualStudioCommunity2019        OS:Windows10x64    typesetting:Markdown codeusingSystem;usingSystem.Linq;namespaceConsoleApp{classProgram{publicstaticvoidMyFun(int......
  • C++基础2: 优化C函数
    1.缺省参数什么是缺省参数缺省参数是声明或者定义函数时为函数的参数指定一个默认值,如果函数调用时没有传入实参,那么这个默认值会被当做实参,如下例子函数调用时,传入参数1,a=1,不传入参数,默认a=0,这里的a就是一个缺省参数缺省参数的分类缺省参数分全缺省和半缺省......
  • 阶乘 reduce函数 operator模块
       fromfunctoolsimportreducefromoperatorimportmuldeffact(n):#使用reduce和operator.mul函数计算阶乘returnreduce(mul,range(1,n+1))#使用reduce函数和一个匿名函数计算阶乘#returnreduce(lambdaa,b:a*b,range(1,n+1)) ......
  • 引用作函数形参交换两个整数
    一.问题描述:设计一个void类型的函数Swap,该函数有两个引用类型的参数,函数功能为实现两个整数交换的操作。二.编程思路:1.设计一个void类型的函数swap2.设置两个引用类型的参数3.输入两个参数4.交换两个整数并输出三.代码实现:#include<iostream>usingnamespacestd;voi......
  • java -- 函数式编程
    函数式编程面向对象过分强调“必须通过对象的形式来做事情”,而函数式思想则尽量忽略面向对象的复杂语法——强调做什么,而不是怎么做。有时只是为了做某事情而不得不创建一个对象,而传递一段代码才是我们真正的目的。LambdaLambda是一个匿名函数,可以理解为一段可以传递的代码。......