当前位置:网站首页 > Haskell函数式编程 > 正文

oracle时间函数大全(oracle函数大全教程)



在这里插入图片描述

📫 作者简介:「六月暴雪飞梨花」,专注于研究Java,就职于科技型公司后端工程师
🏆 近期荣誉:华为云云享专家、阿里云专家博主、腾讯云优秀创作者、ACDU成员
🔥 三连支持:欢迎 ❤️关注、👍点赞、👉收藏三连,支持一下博主~

Oracle 数据库提供了丰富的内置函数,涵盖数值处理、字符串操作、日期和时间处理、逻辑判断、集合处理、数据分析、数据类型转换等多个方面。下面就随着我一起来学习下这个内置函数吧,有解释不到之处,还望批评指正。
Oracle 数据库提供了一系列强大的日期与时间函数,用于处理和操作日期和时间。在处理过程中,日期和时间是分不开的内置函数,两者结合其他函数处理日期和时间相关的查询、计算、格式化,为我们在工作、学习提供了便利。
在这里插入图片描述

本篇示例是基于版本操作,所操作的环境依旧是oracle提供的在线测试环境。如果有不同之处,请指出。
在这里插入图片描述

【定义】

SYSDATE:返回服务器当前的日期和时间(是否包含时间取决于使用场景和其他函数)。这个值是由数据库服务器的系统时钟确定的,每次查询时都会实时获取。默认返回格式DD-MM-YY。

CURRENT_DATE:返回当前日期(不含时间部分)。返回格式DD-MM-YY,类似SYSDATE。

CURRENT_TIMESTAMP:返回当前日期和时间,包括时区信息。返回格式DD-MM-YY HH24:MI:SS.FF。

LOCALTIMESTAMP:返回当前日期和时间,不包括时区信息。返回格式DD-MM-YY HH24:MI:SS.FF。

 
  

在这里插入图片描述

例如我们在物理设计模型中没有设计这些函数,可以在代码中使用这些命令返回当前的日期/时间来作为业务的时间点或者可以作为数据的默认时间。关于格式()的定义可以参考:https://docs.oracle.com/en/database/oracle/oracle-database/19/sqlrf/Format-Models.html#GUID-E118F121-A0E1-4784-A685-D35CE64B4557

上面也讲过,对于日期函数,我们多数都是在解析中或者转换中,以符合我们的业务展示需求。下面就是日期时间函数的格式化和转换过程。

【定义】
● TO_CHAR(bfile|blob)
● TO_CHAR(character)
● TO_CHAR(datetime)
● TO_CHAR(number)
对于TO_CHAR函数来说,转换日期时间函数有日期时间和数字,本章节只说明针对日期时间函数,可以有的格式有




TO_CHAR(date, format_model): 将日期/时间转换为字符串(简称DT转S),转换过程中主要取决于format_model。

 
  

在这里插入图片描述

TO_DATE(string, format_model): 将字符串转换为日期/时间(简称S转DT),转换过程中主要取决于format_model。

 
  

在这里插入图片描述

注意⚠️

此函数时转为日期,多余的会舍弃掉。
当我们使用转换函数时,可以由小转大,例如DT3;
但是不能使用小转到,接收不了,例如DT2,此时会报错:

【定义格式】

TO_TIMESTAMP(string1 [, format_model] [[, nls_language]]):将字符串转换为带时区的时间戳,转换过程中主要取决于format_model。

  • string1:要转换的原始字符串,包含日期和时间信息。
  • format_model(可选):定义字符串中日期和时间元素的格式模型。如果省略,Oracle会尝试使用默认的日期格式进行解析,但这可能导致错误,特别是当字符串格式与数据库的默认格式不匹配时。
  • nls_language(可选):用于控制日期时间元素的翻译,比如月份和星期的名称。如果省略,将使用会话的当前语言设置。
    【示例】
 
  

在这里插入图片描述

注意⚠️

此函数时转为时间,不足的会补充。其中包含时区信息(TO_TIMESTAMP_TZ)的很少使用,这里不在赘述。
当我们使用转换函数时,即使我们写了日期格式,也会补充时间格式,例如DT1;
当我们使用转换函数时,使用的格式不足支撑数据则会报错,例如DT2;
当我们使用转换函数时,使用的数据值不满足格式时,会补充时间格式,例如DT3;
当我们使用转换函数时,正常情况下例如DT4;



这里函数在SQL计算中很常见,例如查询3个月以前的数据,查询上周的数据等等。下面就是一些常用的函数。

【定义】

ADD_MONTHS(date, months): 加减指定月份数。

 
  

在这里插入图片描述

 
  

在这里插入图片描述

【定义】

NEXT_DAY(date, day_of_week): 返回指定日期后下一个指定星期几的日期,返回值为日期。

【示例】

 
  

在这里插入图片描述

MONTHS_BETWEEN(date1, date2[, round_mode]): 计算两个日期之间的月数。

【描述】
返回日期date1和date2之间的月数。月份和月份的最后一天由参数定义。
如果date1晚于date2,则结果为正。
如果date1早于date2,则结果为负。
如果date1和date2是一个月中的同一天或两个月的最后几天,则结果始终为整数。否则,Oracle数据库根据31天的月份计算结果的小数部分,并考虑时间分量date1和date2的差异。



【示例】
见名识义,例如我想获取2023-11-26 到 2024-04-29 之间的月份。
在这里插入图片描述

EXTRACT(component FROM datetime): 提取日期/时间的特定部分(如YEAR、MONTH、DAY等)。

【示意图】
在这里插入图片描述

 
  

在这里插入图片描述

日期函数还可以进行加减法运算,话不多说,直接贴代码。例如我想返回当前日期加上2天后的日期,想返回当前日期减去3天后的日期。

 
  

在这里插入图片描述

本篇主要学习日期和时间相关的内置函数,在我们使用过程中有任何问题都可以在站内联系我。有些内置函数可以在SELECT语句中用于处理数据,同时也可以在WHERE等语句中使用。今天了解到的函数在处理数据库中的字符串数据时非常有用,特别是当需要转换、去除、清理或格式化数据时。具体是如何使用,都要考虑使用场景以及性能方面的问题,后续会再出一些相关的博文。


[引用参考]

  1. https://docs.oracle.com/en/database/oracle/oracle-database/19/sqlrf/Functions.html#GUID-D079EFD3-C683-441F-977E-2C9503089982

欢迎关注博主 「六月暴雪飞梨花」 或加入【六月暴雪飞梨花社区】一起学习和分享Linux、C、C++、Python、Matlab,机器人运动控制、多机器人协作,智能优化算法,滤波估计、多传感器信息融合,机器学习,人工智能等相关领域的知识和技术。

到此这篇oracle时间函数大全(oracle函数大全教程)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • max的函数功能是什么(max函数的作用)2025-05-29 09:45:05
  • 十大常见密码加密方式数字(十大常见密码加密方式数字是什么)2025-05-29 09:45:05
  • 阻塞队列的实现(阻塞队列实现生产者消费者模式)2025-05-29 09:45:05
  • 模型部署方式(模型部署的步骤)2025-05-29 09:45:05
  • 速排蚂蚁编辑器视频ID(速排小蚂蚁编辑器的文章复制后格式乱掉)2025-05-29 09:45:05
  • 支付方式怎么改成指纹解锁(支付方式怎么改成指纹解锁了)2025-05-29 09:45:05
  • 单片机编程100例(单片机编程实例大全)2025-05-29 09:45:05
  • sigmoid函数实现(sigmoid函数应用)2025-05-29 09:45:05
  • max函数是窗口函数对吗(max是数学函数吗)2025-05-29 09:45:05
  • yml文件不生效(yml文件格式要求)2025-05-29 09:45:05
  • 全屏图片