Oracle获取当前年、月、日的方法

Oracle 获取当前年、月、日

1、//oracle中extract()函数从oracle 9i中引入,用于从一个date或者interval类型中截取到特定的部分

//语法如下:

EXTRACT (          { YEAR | MONTH | DAY | HOUR | MINUTE | SECOND }          | { TIMEZONE_HOUR | TIMEZONE_MINUTE }          | { TIMEZONE_REGION | TIMEZONE_ABBR }  FROM { date_value | interval_value } )  select extract(year from sysdate) from dual; --当前年select extract(month from sysdate) from dual; --本年到当月的月数select extract(day from sysdate) from dual; --本月到当日的天数 //我们只可以从一个date类型中截取 year,month,day(date日期的格式为yyyy-mm-dd);   www.2cto.com

//我们只可以从一个 timestamp with time zone 的数据类型中截取TIMEZONE_HOUR和TIMEZONE_MINUTE;

select extract(year from date'2011-05-17') year from dual;

select extract(month from date'2011-05-17') month from dual;

select extract(day from date'2011-05-17') day from dual;

2、ORACLE里获取一个时间的年、季、月、周、日的函数

select  to_char(sysdate, 'yyyy' )  from dual; --年

select  to_char(sysdate, 'MM' )  from dual; --月

select  to_char(sysdate, 'dd' )  from dual; --日

select  to_char(sysdate,'Q')  from dual; --季

select  to_char(sysdate,'iw')  from dual; --周--按日历上的那种,每年有52或者53周

/*

hh 小时(12)

hh24 小时(24)

Mi 分

ss 秒

D 周中的星期几

ddd 年中的第几天

WW 年中的第几个星期

W 该月中第几个星期 --每年的1月1号至1月7号为第一周,以此类推,每年53周

*/

www.2cto.com

获取系统日期: SYSDATE()

  格式化日期:

TO_CHAR(SYSDATE(),'YY/MM/DD HH24:MI:SS)

       或 TO_DATE(SYSDATE(),'YY/MM/DD HH24:MI:SS)

   select to_char(sysdate,'yyyy-MM-dd HH24:mi:ss')  from dual;

   select to_char(sysdate,'yyyy-MM-dd HH24:mm:ss')  from dual;

   select to_char(sysdate,'yy-mm-dd hh24:mi:ss')  from dual

   select to_date('2009-12-25 14:23:31','yyyy-mm-dd,hh24:mi:ss')  from dual

  而如果把上式写作:

   select  to_date('2009-12-25 14:23:31','yyyy-mm-dd,hh:mi:ss')  from dual

  则会报错,因为小时hh是12进制,14为非法输入,不能匹配。

  转换的格式:

  表示 year 的:

y 表示年的最后一位 、

  yy 表示年的最后2位 、

  yyy 表示年的最后3位 、

  yyyy 用4位数表示年

  表示month的:

mm 用2位数字表示月 、

  mon 用简写形式, 比如11月或者nov 、

  month 用全称, 比如11月或者november

  表示day的:

dd 表示当月第几天 、

  ddd 表示当年第几天 、

  dy 当周第几天,简写, 比如星期五或者fri 、

  day 当周第几天,全称, 比如星期五或者friday

  表示hour的:

hh 2位数表示小时 12进制 、

  hh24 2位数表示小时 24小时

  表示minute的:  www.2cto.com

mi 2位数表示分钟

  表示second的:

ss 2位数表示秒 60进制

  表示季度的:

q 一位数 表示季度 (1-4)

  另外还有ww 用来表示当年第几周 w用来表示当月第几周。

  当前时间减去7分钟的时间

   select   sysdate,sysdate - interval '7' MINUTE  from  dual;

  当前时间减去7小时的时间

   select   sysdate - interval '7' hour  from dual;

  当前时间减去7天的时间

   select   sysdate - interval '7' day  from dual;

  当前时间减去7月的时间

   select   sysdate,sysdate - interval '7' month  from dual;

  当前时间减去7年的时间

   select   sysdate,sysdate - interval '7' year  from dual;

  时间间隔乘以一个数字

   select   sysdate,sysdate - 8*interval '7' hour  from dual;

www.2cto.com

select to_char(sysdate,'yyyy-mm-dd:hh24:mi:ss:pm:dy') from dual;                             年  月 日 24制小时 分 秒 上/下午 星期中文;      --获取11月天数--select to_char(last_day(to_date('2010-11-1','YYYY-MM-DD')),'DD') from dual;  --获取12月天数--select to_char(last_day(to_date('2010-12-1','YYYY-MM-DD')),'DD') from dual;      显示上个礼拜一到礼拜日  SELECT to_char(SYSDATE,'yyyymmdd')-to_number(to_char(SYSDATE,'d')-1) - 6,         to_char(SYSDATE,'yyyymmdd')-to_number(to_char(SYSDATE,'d')-1)    from dual

Oracle获取当前年、月、日的方法的更多相关文章

  1. ORACLE获取SQL绑定变量值的方法总结

      本文总结一下ORACLE数据库中如何获取SQL绑定变量值的方法,在SQL优化调优过程中,经常会用到这方面的知识点.在此梳理.总结一下,方面日后查找.翻阅. 方法1:查询V$SQL V$SQL视图中 ...

  2. Oracle 获取当前日期是月的第几周

    函数FUNC_GET_WEEKOFMONTH: IW 是年的自然周: WW是年的第一天起开始算7天为一周 FUNCTION FUNC_GET_WEEKOFMONTH (V_PSD DATE) RETU ...

  3. oracle获取年、月、日

    --获取年 select extract(year from date'2011-05-17') year from dual; --获取月 select extract(month from dat ...

  4. Python获取当前 年 月 日

    import datetime datetime.datetime.now().year datetime.datetime.now().month datetime.datetime.now().d ...

  5. Oracle中获取执行计划的几种方法分析

    以下是对Oracle中获取执行计划的几种方法进行了详细的分析介绍,需要的朋友可以参考下     1. 预估执行计划 - Explain PlanExplain plan以SQL语句作为输入,得到这条S ...

  6. Java Calendar获取年、月、日、时间

    Java Calendar获取年.月.日.时间 Calendar c = Calendar.getInstance(TimeZone.getTimeZone("GMT+08:00" ...

  7. Oracle数据库实现获取前几条数据的方法

    如何在Oracle数据库中实现获取前几条数据的方法呢?就是类似SQL语句中的SELECT TOP N的方法.本文将告诉您答案,举例说明了哟!   1.在Oracle中实现SELECT TOP N : ...

  8. [Oracle] 获取运行计划的各方法总结

    总的结论: 一.获取运行计划的6种方法(具体步骤已经在每一个样例的开头凝视部分说明了): 1. explain plan for获取:  2. set autotrace on .  3. stati ...

  9. oracle截取时间的年/月/日/时/分/秒

    修改日期格式为年月日时分秒: alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';select to_char(sysdate,'yyy ...

随机推荐

  1. (转载)intellj idea 如何设置类头注释和方法注释

    原文地址:http://www.cnblogs.com/wvqusrtg/p/5459327.html           intellj idea的强大之处就不多说了,相信每个用过它的人都会体会到, ...

  2. Monte Carlo simulated annealing

    蒙特·卡罗分子模拟计算 使用蒙特·卡罗方法进行分子模拟计算是按照以下步骤进行的: 1. 使用随机数发生器产生一个随机的分子构型. 2. 对此分子构型的其中粒子坐标做无规则的改变,产生一个新的分子构型. ...

  3. web项目的一些常用设置

    给项目取别名: 03

  4. 说一说javascript的异步编程

    众所周知javascript是单线程的,它的设计之初是为浏览器设计的GUI编程语言,GUI编程的特性之一是保证UI线程一定不能阻塞,否则体验不佳,甚至界面卡死. 所谓的单线程就是一次只能完成一个任务, ...

  5. caffe-ssd的GPU安装时make test 报错:.build_release/test/test_all.testbin:

    报错原因:LIBRARIES路径添加不全 解决方法:LIBRARIES += glog gflags protobuf boost_system boost_filesystem boost_rege ...

  6. bzoj4195(并查集+离散化)

    题目大意:给出n个变量互相的相等或不等关系,求这些关系是否矛盾 思路:把相等的变量加入并查集,不等的查询是否合法 eg:数据很大,离散化(然而我用的是map) #include<stdio.h& ...

  7. 51Nod 1058 N的阶乘的长度

    输入N求N的阶乘的10进制表示的长度.例如6! = 720,长度为3.   Input 输入N(1 <= N <= 10^6) Output 输出N的阶乘的长度 Input示例 6 Out ...

  8. 腾讯出品的一个超棒的 Android UI 库

    腾讯出品的一个超棒的 Android UI 库 相信做 Android 久了大家都会有种体会,那就是 Android 开发相对于前端开发来说统一的 UI 开源库比较少.造成这种现象的原因一方面是大多数 ...

  9. QQ"坦白说"抓包破解与PacketCapture使用介绍

    据腾讯发布内容来看,“坦白说”是刚刚在QQ中上线的新功能,还在测试阶段就已经非常火爆. 但作为一种web端的小游戏,无疑可以使用爬虫的来自我模拟. (话说写完这篇的时候我总感觉自己几年前好像写过这个. ...

  10. jQuery validator plugin之Plugin Method

    原文 .validate() validate( [options ] ) options Type: Object debug (default: false) Type: Boolean Enab ...