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. 下载文件 utils

    package cn.itcast.bos.utils;   import java.io.IOException; import java.net.URLEncoder;   import sun. ...

  2. Android -- 带你从源码角度领悟Dagger2入门到放弃(一)

    1,以前的博客也写了两篇关于Dagger2,但是感觉自己使用的时候还是云里雾里的,更不谈各位来看博客的同学了,所以今天打算和大家再一次的入坑试试,最后一次了,保证最后一次了. 2,接入项目 在项目的G ...

  3. python工具的选择

    自己喜欢用pycharm,下载地址:https://www.jetbrains.com/products.html#lang=python 补丁地址:http://idea.lanyus.com/

  4. Ngnix 配置文件

    配置文件路径/usr/local/nginx/conf/nginx.conf user www www; #nginx 服务的伪用户和用户组 worker_processes auto; #启动进程, ...

  5. The All-purpose Zero (最长公共子序列)

    题意:求最长公共子序列,但是有个辅助条件,那就是如果那个值为0,那么他可以更换为任意值. 思路:假设现在只剩下没有0的序列是不是就很好求了?那么我们的想法就是看有没有办法将0往最左端或者最有端移动,显 ...

  6. EasyUI出现多条边框重合的问题

    比如在 下面使用一个datagrid表格,可能出现某几条边框重合的问题,这种情况需要在div一层的panel添加"border:false"属性,datagrid不做处理即可

  7. LeetCode169 求众数

    题目链接:https://leetcode-cn.com/problems/majority-element/ 给定一个大小为 n 的数组,找到其中的众数.众数是指在数组中出现次数大于 ⌊ n/2 ⌋ ...

  8. js获取本月最后一天

    function getLastDay() {      var seperator1 = "-";      var date=new Date;      var new_mo ...

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

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

  10. Python Redis 常用操作

    delete(*names) # 根据删除redis中的任意数据类型 exists(name) # 检测redis的name是否存在 keys(pattern='*') # 根据模型获取redis的n ...