SQL>
SQL> SELECT to_char(SYSDATE,'yyyy-mm-dd hh24:mi:ss') 现在时间,to_char(sysdate,'hh24') 当前小时数,to_char(sysdate,'hh24')-1 前一小时数
2 FROM dual; 现在时间 当前小时数 前一小时数
------------------- ---------- ----------
2016-11-23 10:04:25 10 9 SQL>
SQL> SELECT to_char(sysdate,'dd') AS 当天天数,to_char(sysdate,'iw') AS 本周周数,to_char(sysdate,'mm') AS 本月月份
2 ,to_char(sysdate,'q') AS 本季度数,to_char(sysdate,'yyyy') AS 本年度数
3 FROM dual; 当天天数 本周周数 本月月份 本季度数 本年度数
-------- -------- -------- -------- --------
23 47 11 4 2016 SQL>
SQL> SELECT trunc(sysdate) AS 当天日期,trunc(sysdate-1) AS 昨天日期
2 ,TRUNC(sysdate,'iw') AS 本周第一天星期一,TRUNC(sysdate,'d') AS 本周第一天星期日
3 ,trunc(SYSDATE, 'MM') AS 本月第一天,TRUNC(sysdate,'q') AS 本季度第一天,trunc(sysdate,'YYYY') AS 本年第一天
4 FROM dual
5 ; 当天日期 昨天日期 本周第一天星期一 本周第一天星期日 本月第一天 本季度第一天 本年第一天
----------- ----------- ---------------- ---------------- ----------- ------------ -----------
2016-11-23 2016-11-22 2016-11-21 2016-11-20 2016-11-1 2016-10-1 2016-1-1 SQL>
SQL> SELECT TRUNC(sysdate,'iw')+7 AS 本周最后一天星期一,TRUNC(sysdate,'d')+7 AS 本周第一天星期日
2 ,trunc(last_day(SYSDATE)) AS 本月最后一天,add_months(trunc(sysdate,'Q'),3)-1 AS 本季度第一天,add_months(trunc(sysdate,'yyyy'),12)-1 AS 本年最后一天
3 FROM dual; 本周最后一天星期一 本周第一天星期日 本月最后一天 本季度第一天 本年最后一天
------------------ ---------------- ------------ ------------ ------------
2016-11-28 2016-11-27 2016-11-30 2016-12-31 2016-12-31 SQL>
SQL> select trunc(sysdate, 'month') 本月第一天,trunc(last_day(sysdate)) 本月最后一天,
2 trunc(add_months(sysdate, -1), 'month') 上月第一天,trunc(last_day(add_months(sysdate, -1))) 上月最后一天,
3 trunc(last_day(add_months(SYSDATE, 0))+1) 下个月第一天,trunc(last_day(add_months(SYSDATE, 1))) 下个月最后一天,
4 trunc(add_months(sysdate, -12), 'month') 去年本月第一天,trunc(last_day(add_months(sysdate, -12))) 去年本月最后一天
5 from dual; 本月第一天 本月最后一天 上月第一天 上月最后一天 下个月第一天 下个月最后一天 去年本月第一天 去年本月最后一天
----------- ------------ ----------- ------------ ------------ -------------- -------------- ----------------
2016-11-1 2016-11-30 2016-10-1 2016-10-31 2016-12-1 2016-12-31 2015-11-1 2015-11-30 SQL>
SQL>
SQL> SELECT trunc(last_day(add_months(sysdate, -1)))-trunc(add_months(sysdate, -1), 'month')+1 上月天数
  2         ,trunc(last_day(add_months(sysdate, 0)))-trunc(add_months(sysdate, 0), 'month')+1 当月天数
  3         ,ADD_MONTHS(TRUNC(SYSDATE, 'YYYY'), 12)-TRUNC(SYSDATE, 'YYYY') 当年天数
  4   FROM dual;
 
      上月天数       当月天数       当年天数
---------- ---------- ----------
        31         30        366
select sysdate from dual;
/*
sysdate
----------
20-SEP-07 日期格式 說明
------------------------------------------------------------------------
YYYY/MM/DD -- 年/月/日
YYYY -- 年(4位)
YYY -- 年(3位)
YY -- 年(2位)
MM -- 月份
DD -- 日期
D -- 星期
-- 星期日 = 1 星期一 = 2 星期二 = 3
-- 星期三 = 4 星期四 = 5 星期五 = 6 星期六 = 7 DDD -- 一年之第幾天
WW -- 一年之第幾週
W -- 一月之第幾週
YYYY/MM/DD HH24:MI:SS -- 年/月/日 時(24小時制):分:秒
YYYY/MM/DD HH:MI:SS -- 年/月/日 時(非24小時制):分:秒
J -- Julian day,Bc 4712/01/01 為1
RR/MM/DD -- 公元2000問題-- 00-49 = 下世紀;50-99 = 本世紀
*/ select to_char(sysdate,'YYYY/MM/DD') FROM DUAL; -- 2007/09/20
select to_char(sysdate,'YYYY') FROM DUAL; --
select to_char(sysdate,'YYY') FROM DUAL; --
select to_char(sysdate,'YY') FROM DUAL; --
select to_char(sysdate,'MM') FROM DUAL; --
select to_char(sysdate,'DD') FROM DUAL; --
select to_char(sysdate,'D') FROM DUAL; --
select to_char(sysdate,'DDD') FROM DUAL; --
select to_char(sysdate,'WW') FROM DUAL; --
select to_char(sysdate,'W') FROM DUAL; --
select to_char(sysdate,'YYYY/MM/DD HH24:MI:SS') FROM DUAL; -- 2007/09/20 15:24:13
select to_char(sysdate,'YYYY/MM/DD HH:MI:SS') FROM DUAL; -- 2007/09/20 03:25:23
select to_char(sysdate,'J') FROM DUAL; --
select to_char(sysdate,'RR/MM/DD') FROM DUAL; -- 07/09/20
                            --http://blog.sina.com.cn/s/blog_73e1106501013fzw.html

oracle中的日期:周月季年,首天未天。的更多相关文章

  1. Oracle中有关日期的语法

    Oracle中有关日期的语法 Oracle提供了丰富的日期函数.利用日期函数可以灵活的对日期进行运算. to_date()函数——将字符串转换为日期型 to_date()函数用于将字符串转换为日期.被 ...

  2. Oracle中的日期处理方法

    日期处理方法                                                        当前日期和时间 Select sysdate from dual; 本月最后 ...

  3. Oracle中的日期数据类型

    TimeStamp日期类型 TimeStamp数据类型用于存储日期的年.月.日,以及时间的小时.分和秒,其中秒值精确到小数点后6位,该数据类型 同时包含时区信息.systimestamp函数的功能是返 ...

  4. Oracle中的日期和字符串互相转换

    转载出处:http://blog.sina.com.cn/s/blog_44a005380100k6rv.html TO_DATE格式(以时间:2007-11-02   13:45:25为例)    ...

  5. oracle中的日期函数的使用

    TO_DATE格式(以时间:2007-11-02   13:45:25为例) Year:               yy two digits 两位年                显示值:07   ...

  6. Oracle中与日期时间有关的运算函数

    1            ADD_MONTHS 格式:ADD_MONTHS(D,N) 说明:返回日期时间D加N月后对应的日期时间.N为正时则表示D之后:N为负时则表示为D之前:N为小数则会自动先删除小 ...

  7. 转:Oracle中的日期和字符串互相转换

    TO_DATE格式(以时间:2007-11-02   13:45:25为例)          Year:             yy two digits 两位年                显 ...

  8. Oracle中的日期

    --1.日期字符转换函数的用法 /****************************TO_CHAR********************************/ -------------- ...

  9. Oracle中的日期加减

    加法   select sysdate,add_months(sysdate,12) from dual;        --加1年 select sysdate,add_months(sysdate ...

随机推荐

  1. Windows集成认证全过程

    开发环境:win7旗舰版,vs2013 服务器环境:windows server 2008 R2 IIS7.5 目的:在局域网搭建一个网站,用户必须使用域帐号登录网站访问 Step 1: 创建proj ...

  2. Uncaught ReferenceError: WebForm_DoPostBackWithOptions is not defined

    环境:Asp.Net网站,Framework版本4.0,IIS版本7.0问题:按钮失效,下面是按钮代码: <a id="dnn_ctr1161_Login_Login_DNN_cmdL ...

  3. 简述reflow和repaint

    今天在看面试题的时候遇到reflow和repaint的问题,以前并没有接触过,所以拿来学习一下~ reflow 和 repaint 会拖慢浏览器的速度,而且用户和Web页面都不能在 reflow 和 ...

  4. 如何开发、调试Hybrid项目-- 入门篇

    前言 随着移动浪潮的兴起,各种APP层出不穷,极速的业务扩展提升了团队对开发效率的要求,这个时候使用IOS&Andriod开发一个APP似乎成本有点过高了,而H5的低成本.高效率.跨平台等特性 ...

  5. Html 之div+css布局之css选择器

    CSS选择器 什么叫选择器?通俗的来说就是 我想改变html 中某个地方的  字体大小 或者背景色 或者其它属性 内边距 外边距,宽度高度 等等 一些Css 样式. 那么我们如何找到对应的 元素呢? ...

  6. amazon o2 - reverse second half linked list

    public ListNode reverseBetween(ListNode head, int m, int n) { if(head==null) return head; ListNode s ...

  7. 使用RelativeLayout控制WebView以及Bottom按钮的位置

    使用RelativeLayout控制WebView以及Bottom按钮的位置 (地址) 在Design View中加入控件RelativeLayout, WebView, LinearLayout(H ...

  8. jQuery中bind方法和live方法区别解析

    Javascript中的事件有它的独特性,有默认的执行事件,例如冒泡就是其中的一个.在很多比较复杂的应用程序中,停止事件的冒泡或捕获在程序开发当中是十分有用的,而在IE中有它的独特方式来阻止事件的冒泡 ...

  9. PHP生成唯一会员卡号

    我们将0-Z(0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ)分别代表数值0-35,如字母Z代表35.这样的话我要得到一个5位的编号,最大信息量就是36的5次方了,36^5 ...

  10. Array.splice()理解记忆

    var arr = [0,1,2,3,4,5,6,7,8,9]; arr.splice(0,0,"添加项1"); //arr => ["添加项",0,1, ...