目录
系统日期、时间函数
SYSDATE函数
SYSTIMESTAMP函数
数据库时区函数
DBTIMEZONE函数
ADD_MONTHS(r,n)函数
月份最后一天函数
LAST_DAY(r)函数
NEXT_DAY(r,c)函数
返回指定日期中特定部分的函数
EXTRACT(time)函数
MONTHS_BETWEEN(r1,r2)函数
日期截取函数
ROUND(r[,f])函数
TRUNC(r[,f])函数
首页 数据库 Oracle 总结分享Oracle日期函数

总结分享Oracle日期函数

Mar 18, 2022 pm 06:19 PM
oracle

本篇文章给大家带来了关于Oracle的相关知识,其中主要介绍了一些常用的日期函数相关问题,包括了SYSDATE、ADD_MONTHS、LAST_DAY、TRUNC、ROUND等等,希望对大家有帮助。

总结分享Oracle日期函数

推荐教程:《Oracle教程

系统日期、时间函数

SYSDATE函数

该函数没有参数,可以得到系统的当前时间。

案例代码:

select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;
登录后复制

结果:

SYSTIMESTAMP函数

该函数没有参数,可以得到系统的当前时间,该时间包含时区信息,精确到微秒。

案例代码

select systimestamp from dual;
登录后复制

结果: 

数据库时区函数

DBTIMEZONE函数

该函数没有输入参数,返回数据库时区。

案例代码:

select dbtimezone from dual;
登录后复制

 结果:

 给日期加上指定的月份函数:

ADD_MONTHS(r,n)函数

该函数返回在指定日期r上加上一个月份数n后的日期。其中

r:指定的日期。

n:要增加的月份数,如果N为负数,则表示减去的月份数。

案例代码:

select to_char(add_months(to_date('2018-11-12', 'yyyy-mm-dd'), 1),
               'yyyy-mm-dd'),
       to_char(add_months(to_date('2018-10-31', 'yyyy-mm-dd'), 1),
               'yyyy-mm-dd'),
       to_char(add_months(to_date('2018-09-30', 'yyyy-mm-dd'), 1),
               'yyyy-mm-dd')
  from dual;
登录后复制

结果:(如果指定的日期是月份的最后一天,返回的也是新的月份的最后一天,如果新的月份比指定的月份日期少,将会自动调回有效日期)

月份最后一天函数

LAST_DAY(r)函数

返回指定r日期的当前月份的最后一天日期。

案例代码:

select last_day(sysdate) from dual;
登录后复制

结果:

 指定日期后一周的日期函数:

NEXT_DAY(r,c)函数

返回指定R日期的后一周的与r日期字符(c:表示星期几)对应的日期。

案例代码:

 select next_day(to_date('2018-11-12','yyyy-mm-dd'),'星期四') from dual;
登录后复制

结果:

返回指定日期中特定部分的函数

EXTRACT(time)函数

返回指定time时间当中的年、月、日、分等日期部分。

案例代码:

select extract(year from timestamp '2018-11-12 15:36:01') as year,
       extract(month from timestamp '2018-11-12 15:36:01') as month,
       extract(day from timestamp '2018-11-12 15:36:01') as day,
       extract(minute from timestamp '2018-11-12 15:36:01') as minute,
       extract(second from timestamp '2018-11-12 15:36:01') as second
  from dual;
登录后复制

结果:

 返回两个日期间的月份数:

MONTHS_BETWEEN(r1,r2)函数

该函数返回r1日期和r2日期直接的月份。当r1>r2时,返回的是正数,假如r1和r2是不同月的同一天,则返回的是整数,否则返回的小数。当r1

案例代码:

select months_between(to_date('2018-11-12', 'yyyy-mm-dd'),
                      to_date('2017-11-12', 'yyyy-mm-dd')) as zs, --整数
       months_between(to_date('2018-11-12', 'yyyy-mm-dd'),
                      to_date('2017-10-11', 'yyyy-mm-dd')) as xs, --小数
       months_between(to_date('2017-11-12', 'yyyy-mm-dd'),
                      to_date('2018-10-12', 'yyyy-mm-dd')) as fs --负数
  from dual;
登录后复制

结果:

日期截取函数

ROUND(r[,f])函数

将日期r按f的格式进行四舍五入。如果f不填,则四舍五入到最近的一天。

案例代码:

select sysdate, --当前时间
       round(sysdate, 'yyyy') as year, --按年
       round(sysdate, 'mm') as month, --按月
       round(sysdate, 'dd') as day, --按天
       round(sysdate) as mr_day, --默认不填按天
       round(sysdate, 'hh24') as hour --按小时
  from dual;
登录后复制

结果:

TRUNC(r[,f])函数

将日期r按f的格式进行截取。如果f不填,则截取到当前的日期。

案例代码:

select sysdate, --当前时间
       trunc(sysdate, 'yyyy') as year, --按年
       trunc(sysdate, 'mm') as month, --按月
       trunc(sysdate, 'dd') as day, --按天
       trunc(sysdate) as mr_day, --默认不填按天
       trunc(sysdate, 'hh24') as hour --按小时
  from dual;
登录后复制

结果:

推荐教程:《Oracle学习教程

以上是总结分享Oracle日期函数的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

oracle如何查表空间大小 oracle如何查表空间大小 Apr 11, 2025 pm 08:15 PM

要查询 Oracle 表空间大小,请遵循以下步骤:确定表空间名称,方法是运行查询:SELECT tablespace_name FROM dba_tablespaces;查询表空间大小,方法是运行查询:SELECT sum(bytes) AS total_size, sum(bytes_free) AS available_space, sum(bytes) - sum(bytes_free) AS used_space FROM dba_data_files WHERE tablespace_

oracle视图如何加密 oracle视图如何加密 Apr 11, 2025 pm 08:30 PM

Oracle 视图加密允许您加密视图中的数据,从而增强敏感信息安全性。步骤包括:1) 创建主加密密钥 (MEk);2) 创建加密视图,指定要加密的视图和 MEk;3) 授权用户访问加密视图。加密视图工作原理:当用户查询加密视图时,Oracle 使用 MEk 解密数据,确保只有授权用户可以访问可读数据。

oracle如何查看实例名 oracle如何查看实例名 Apr 11, 2025 pm 08:18 PM

在 Oracle 中查看实例名的方法有三种:命令行中使用 "sqlplus" 和 "select instance_name from v$instance;" 命令。在 SQL*Plus 中使用 "show instance_name;" 命令。通过操作系统的任务管理器、Oracle Enterprise Manager 或检查环境变量 (Linux 上的 ORACLE_SID)。

Oracle安装失败如何卸载 Oracle安装失败如何卸载 Apr 11, 2025 pm 08:24 PM

Oracle 安装失败的卸载方法:关闭 Oracle 服务,删除 Oracle 程序文件和注册表项,卸载 Oracle 环境变量,重新启动计算机。若卸载失败,可使用 Oracle 通用卸载工具手动卸载。

oracle游标关闭怎么解决 oracle游标关闭怎么解决 Apr 11, 2025 pm 10:18 PM

解决 Oracle 游标关闭问题的方法包括:使用 CLOSE 语句显式关闭游标。在 FOR UPDATE 子句中声明游标,使其在作用域结束后自动关闭。在 USING 子句中声明游标,使其在关联的 PL/SQL 变量关闭时自动关闭。使用异常处理确保在任何异常情况下关闭游标。使用连接池自动关闭游标。禁用自动提交,延迟游标关闭。

oracle无效数字如何排查 oracle无效数字如何排查 Apr 11, 2025 pm 08:27 PM

Oracle 无效数字错误可能由数据类型不匹配、数字溢出、数据转换错误或数据损坏引起。排查步骤包括检查数据类型、检测数字溢出、检查数据转换、排查数据损坏,并探索其他可能的解决方案,如配置 NLS_NUMERIC_CHARACTERS 参数和启用数据验证日志记录。

oracle如何删除所有数据 oracle如何删除所有数据 Apr 11, 2025 pm 08:36 PM

在 Oracle 中删除所有数据需要以下步骤:1. 建立连接;2. 禁用外键约束;3. 删除表数据;4. 提交事务;5. 启用外键约束(可选)。请务必在执行前备份数据库,以防数据丢失。

oracle如何设置用户 oracle如何设置用户 Apr 11, 2025 pm 08:21 PM

在 Oracle 中创建用户需遵循以下步骤:使用 CREATE USER 语句创建新用户。使用 GRANT 语句授予必要权限。可选:使用 RESOURCE 语句设置配额。配置其他选项,如默认角色和临时表空间。

See all articles