ORACLE时间函数(SYSDATE)简单理解

ORACLE时间函数(SYSDATE)简单理解加法 nbsp selectsysdat add months sysdate 12 fromdual 加 1 年 nbsp selectsysdat add months sysdate 1 fromdual 加 1 月 nbsp selectsysdat to char sysdate 7 yyyy mm ddHH24 MI SS fromdual 加 1 星期 nbsp sele

加法
 

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时间函数(SYSDATE)简析 
1:取得当前日期是本月的第几周 
SQL> select to_char(sysdate,’YYYYMMDD W HH24:MI:SS’) from dual; 
TO_CHAR(SYSDATE,’YY 
——————- 
4 18:16:09 
SQL> select to_char(sysdate,’W’) from dual; 

– 

2:取得当前日期是一个星期中的第几天,注意星期日是第一天 
SQL> select sysdate,to_char(sysdate,’D’) from dual; 
SYSDATE T 
——— – 
27-MAR-03 5 
  类似: 
select to_char(sysdate,’yyyy’) from dual; –年 
select to_char(sysdate,’Q’ from dual; –季 
select to_char(sysdate,’mm’) from dual; –月 
select to_char(sysdate,’dd’) from dual; –日 
ddd 年中的第几天 
WW 年中的第几个星期 
W 该月中第几个星期 
D 周中的星期几 
hh 小时(12) 
hh24 小时(24) 
Mi 分 
ss 秒 
3:取当前日期是星期几中文显示: 
SQL> select to_char(sysdate,’day’) from dual; 
TO_CHAR(SYSDATE,’DAY’) 
———————- 

星期四  
4:如果一个表在一个date类型的字段上面建立了索引,如何使用 
alter session set NLS_DATE_FORMAT=’YYYY-MM-DD HH24:MI:SS’ 

5: 得到当前的日期 
select sysdate from dual; 
6: 得到当天凌晨0点0分0秒的日期 
select trunc(sysdate) from dual; 
— 得到这天的最后一秒 
select trunc(sysdate) + 0.99999 from dual; 
— 得到小时的具体数值 
select trunc(sysdate) + 1/24 from dual; 
select trunc(sysdate) + 7/24 from dual; 
7.得到明天凌晨0点0分0秒的日期 
select trunc(sysdate+1) from dual; 
select trunc(sysdate)+1 from dual; 
8: 本月一日的日期 
select trunc(sysdate,’mm’) from dual; 
9:得到下月一日的日期 
select trunc(add_months(sysdate,1),’mm’) from dual; 

10:返回当前月的最后一天? 
select last_day(sysdate) from dual; 
select last_day(trunc(sysdate)) from dual; 
select trunc(last_day(sysdate)) from dual; 
select trunc(add_months(sysdate,1),’mm’) – 1 from dual; 
11: 得到一年的每一天 
select trunc(sysdate,’yyyy’)+ rn -1 date0 
from 
(select rownum rn from all_objects 
where rownum<366); 
12:今天是今年的第N天 
SELECT TO_CHAR(SYSDATE,’DDD’) FROM DUAL; 
13:如何在给现有的日期加上2年 
select add_months(sysdate,24) from dual; 
14:判断某一日子所在年分是否为润年 
select decode(to_char(last_day(trunc(sysdate,’y’)+31),’dd’),’29’,’闰年’,’平年’) from dual; 
15:判断两年后是否为润年 
select decode(to_char(last_day(trunc(add_months(sysdate,24),’y’)+31),’dd’),’29’,’闰年’,’平年’) from dual; 
16:得到日期的季度 
select ceil(to_number(to_char(sysdate,’mm’))/3) from dual; 

select to_char(sysdate, ‘Q’) from dual;

—————————————————————————————————————————————————————————-

SYSDATE  
2 –◎ 可得到目前系統的時間    
3  
4   ex.     
5     select sysdate from dual;  
6  
7     sysdate     
8     ———-     
9     20-SEP-07  
10  
11 常用之日期格式  
12  
13 日期格式                 說明  
14 ————————————————————————  
15 YYYY/MM/DD              — 年/月/日   
16 YYYY                    — 年(4位)  
17 YYY                     — 年(3位)  
18 YY                      — 年(2位)  
19 MM                      — 月份  
20 DD                      — 日期  
21 D                       — 星期  
22                             — 星期日 = 1  星期一 = 2 星期二 = 3  
23                         — 星期三 = 4  星期四 = 5 星期五 = 6 星期六 = 7  
24  
25 DDD                     — 一年之第幾天  
26 WW                      — 一年之第幾週  
27 W                       — 一月之第幾週  
28 YYYY/MM/DD HH24:MI:SS   — 年/月/日 時(24小時制):分:秒  
29 YYYY/MM/DD HH:MI:SS     — 年/月/日 時(非24小時制):分:秒  
30 J                       — Julian day,Bc 4712/01/01 為1  
31 RR/MM/DD                — 公元2000問題   
32                — 00-49 = 下世紀;50-99 = 本世紀  
33 ex.  
34 select to_char(sysdate,‘YYYY/MM/DD’FROM DUAL;             — 2007/09/20  
35 select to_char(sysdate,‘YYYY’FROM DUAL;                   — 2007  
36 select to_char(sysdate,‘YYY’FROM DUAL;                    — 007  
37 select to_char(sysdate,‘YY’FROM DUAL;                     — 07  
38 select to_char(sysdate,‘MM’FROM DUAL;                     — 09  
39 select to_char(sysdate,‘DD’FROM DUAL;                     — 20  
40 select to_char(sysdate,‘D’FROM DUAL;                      — 5  
41 select to_char(sysdate,‘DDD’FROM DUAL;                    — 263  
42 select to_char(sysdate,‘WW’FROM DUAL;                     — 38  
43 select to_char(sysdate,‘W’FROM DUAL;                      — 3  
44 select to_char(sysdate,‘YYYY/MM/DD HH24:MI:SS’FROM DUAL;  — 2007/09/20 15:24:13  
45 select to_char(sysdate,‘YYYY/MM/DD HH:MI:SS’FROM DUAL;    — 2007/09/20 03:25:23  
46 select to_char(sysdate,‘J’FROM DUAL;                      —   
47 select to_char(sysdate,‘RR/MM/DD’FROM DUAL;               — 07/09/20 






























































































版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/233074.html原文链接:https://javaforall.net

(0)
上一篇 2025年8月19日 下午5:01
下一篇 2025年8月19日 下午5:22


相关推荐

  • VMware的Linux虚拟机桥接模式突然上不了网解决方法「建议收藏」

    VMware的Linux虚拟机桥接模式突然上不了网解决方法「建议收藏」虚拟机的IP、子网掩码、默认网关、DNS设置得与宿主机在同一子网,虚拟机桥接模式一直以来都可以正常上网,但突然有一天就不能上网了,还死活ping不通外网、网关。此时只需将VM的虚拟网络编辑器中关于桥接模式的设置改一下就行了,具体步骤如下。1、右键点击window系统网络状态那个图标,单击打开“网络和Internet”设置。2、点击更改适配器选项。3、查看window系统联网使用的网卡,记住设备名。4、打开VMware,点击编辑>虚拟网络编辑器。5、在弹出界面点击更改设置。6、桥接模式选

    2022年5月29日
    160
  • Bulk Insert命令具体

    Bulk Insert命令具体

    2021年12月7日
    39
  • Intellij IDEA与Eclipse对比

    Intellij IDEA与Eclipse对比IntellijIDEA 与 Eclipse 对比这是一个比较热议的话题 因为这两款 IDE 都很优秀 总体给人的感觉就是 在没有接触到 IntellijIDEA 之前 写 java 代码如果没有 eclipse 这个代码还怎么写 使用了 IntellijIDEA 之后 会觉得原来还有如此智能的 IDE 使用 IDE 工具的目的 是为了提升编码效率 如果你已深深习惯了 eclip

    2026年3月27日
    2
  • AI Agent开发与应用:基于大模型的智能体构建 PDF电子版

    AI Agent开发与应用:基于大模型的智能体构建 PDF电子版

    2026年3月16日
    3
  • GHOSTXPSP3电脑爱好者V9.9美化修正版

    GHOSTXPSP3电脑爱好者V9.9美化修正版全自动无人值守安装,采用万能GHOST技术,安装系统过程只需5-8分钟,适合新旧各种机型。集成DX9.0c最新版、双核补丁。集成常用VB/VC++2005、2008、2010、2012、2013/运行库、万能驱动助理稳定版安装过程会自动删除各分区下可能存在的AUTORUN病毒TcpIP连接数修改为1000;破解Uxtheme.dll可自由添加美化主题。我的文档收藏夹…

    2022年6月10日
    99
  • java是面向对象还是面向过程_Java面向对象编程和面向过程编程的区别[通俗易懂]

    java是面向对象还是面向过程_Java面向对象编程和面向过程编程的区别[通俗易懂]Java面向对象编程和面向过程编程的区别本章节目标:了解面向对象,知道类和对象的区别,会进行类的定义。知识框架:Java面向对象编程和面向过程编程的区别“面向过程”(ProcedureOriented)是一种以过程为中心的编程思想,简称OP。“面向过程”也可称之为“面向记录”编程思想,就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。所以面向过…

    2022年7月8日
    21

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号