oracle系统函数(日期函数)

调用日期函数时,首先要明确两个概念,时间戳和日期是不同的,日期中包括年月日但不包括小时分钟秒,时间戳包括年月日小时分钟秒。在oracle中,一般情况下,函数中包含date字符的和日期有关,包含timestamp的函数和时间戳有关(时间戳可以理解为时间)。oracle中,日期一般以天为基本单位,时间相减时结果单位为天,时间与数字相加时,默认加对应数字的天数。

一、调用时无参无括号时间函数

1.返回系统当前日期sysdate

  --该函数返回值没有时间戳

  1. select sysdate from dual;

2.返回会话中的日期和时间localtimestamp

  --不包括时区

  1. select localtimestamp from dual;

3.返回会话时区中的当前日期和时间current_timestamp

  --包括时区

  1. select current_timestamp from dual;

4.返回当前会话时区中的当前日期current_date

  1. select current_date from dual;

5.返回数据库时区设置dbtimezone

  1. select dbtimezone from dual;

6.返回当前会话时区sessiontimezone

  1. select sessiontimezone from dual;

7.变动日期时间数值interval

  --设置数值代表秒,分,小时,天,月,年

    例如:

        interval '1' second    1秒
        interval '1' minute    1分
        interval '1' hour      1小时
        interval '1' day       1天(系统默认)
        interval '1' month     1月
        interval '1' year        1年

  1. select trunc(sysdate)+(interval '' second),--加1s
  2. trunc(sysdate)+(interval '' hour),--加1个小时
  3. trunc(sysdate)+(interval '' day),--加1
  4. trunc(sysdate)+1--加1
  5. from dual;

二、调用时有括号的日期函数

1.返回指定月数后的日期add_months()

  1. select add_months(sysdate,3) from dual;

等价于

  1. select trunc(sysdate)+interval '' month from dual;

2.返回本月最后一天的日期last_day()

  1. select last_day(sysdate) from dual;

返回本月第一天

  1. select trunc(sysdate,'month') from dual;

3.返回2个日期间隔月数month_between()

  1. select months_between(sysdate,to_date('2015-09-01','YYYY-MM-DD'))
  2. from dual;

4.四舍五入后的期间第一天round()

  1. select sysdate,
  2. round(sysdate),--最近0点日期
  3. round(sysdate,'day'),--最近星期日
  4. round(sysdate,'month'),--最近月初
  5. round(sysdate,'q'),--最近季出日期
  6. round(sysdate,'year')--最近年初日期
  7. from dual;

5.返回日期所在期间的第一天trunc()

  1. select trunc(sysdate),--今天日期
  2. trunc(sysdate,'day'),--本周星期日,等价于trunc(sysdate,'D')和trunc(sysdate,'d')
  3. trunc(sysdate,'month'),--本月初,若trunc(sysdate,'M')和trunc(sysdate,'m')则执行出错
  4. trunc(sysdate,'q'),--本季初日期
  5. trunc(sysdate,'year')--本年初日期,等价于trunc(sysdate,'Y')和trunc(sysdate,'y')
  6. from dual;

6.返回下周某一天的日期next_day(),可以返回下周的周一到周日

  1. select sysdate,
  2. next_day(sysdate,'星期一'),--返回下周星期一
  3. next_day(sysdate,'星期二')--返回下周星期二
  4. from dual;

7.提取时间日期中数据extract()

  --提取小时,分钟,秒时需要加上timestamp

  1. select
  2. extract(minute from timestamp '2015-2-16 2:38:40'),--timestamp时间戳
  3. extract(hour from timestamp '2015-2-16 2:38:40'),
  4. --extract(hour from timestamp(sysdate)),错误
  5. extract(hour from localtimestamp),--返回值错误
  6. extract(hour from current_timestamp),
  7. extract(day from sysdate),--日
  8. extract(month from sysdate),
  9. extract(year from sysdate)
  10. from dual;

总结:关于日期的函数还是挺多的,但是常用的一般为sysdate,localtimestramp,trunc,interval和extract,重点掌握这些应该足够了,其他不常用的可以用的时候再查找。

oracle系统函数(日期函数)的更多相关文章

  1. javascript函数一共可分为五类: ·常规函数 ·数组函数 ·日期函数 ·数学函数 ·字符串函数

    javascript函数一共可分为五类:    ·常规函数    ·数组函数    ·日期函数    ·数学函数    ·字符串函数    1.常规函数    javascript常规函数包括以下9个 ...

  2. 第17课-数据库开发及ado.net 聚合函数,模糊查询like,通配符.空值处理.order by排序.分组group by-having.类型转换-cast,Convert.union all; Select 列 into 新表;字符串函数;日期函数

    第17课-数据库开发及ado.net 聚合函数,模糊查询like,通配符.空值处理.order by排序.分组group by-having.类型转换-cast,Convert.union all;  ...

  3. Oracle函数——日期函数

    Oracle中的时间类型只有date和TIMESTAMP,TIMESTAMP是比date更精确的类型.日期时间函数用于处理时间类型的数据,Oracle以7位数字格式来存放日期数据,包括世纪.年.月.日 ...

  4. Oracle数据库之日期函数

    今天给大家介绍一下oracle数据中的日期函数的用法.废话不多说,我们看一下oracle给我们提供了那些函数? 1.sysdate 用途:获取当前系统时间. 2.to_date('字符类型','日期类 ...

  5. Oracle之单行函数(字符串函数/数字函数/转换函数/日期函数/通用函数)

    虚拟表DUAL介绍: dual是一张虚拟表,只有一行一列,用来构成select的语法规则. Oracle的查询中,必须使用"select 列- from 表"的完整语法,当查询单行 ...

  6. SQL 标量函数-----日期函数 day() 、month()、year()

    select day(createtime) from life_unite_product --取时间字段的天值 select month(createtime) from life_unite_p ...

  7. SQL标量函数-日期函数

    select day(createtime) from life_unite_product     --取时间字段的天值 select month(createtime) from life_uni ...

  8. MySQL 进阶4 SQL常见函数: 字符函数/数学函数/日期函数/流程控制函数(if/case)

    # 进阶4 SQL常见函数 分类: 1/单行函数: 字符函数: concat(),length(),ifnull(__,default) ,instr(), trim(),upper(),lower( ...

  9. SQL 标量函数-----日期函数 day() 、month()、year() 转载

      select day(createtime) from life_unite_product     --取时间字段的天值 select month(createtime) from life_u ...

  10. SQL 标量函数-----日期函数datediff()、 day() 、month()、year()

    select day(createtime) from life_unite_product     --取时间字段的天值 select month(createtime) from life_uni ...

随机推荐

  1. Tensorflow中使用CNN实现Mnist手写体识别

    本文参考Yann LeCun的LeNet5经典架构,稍加ps得到下面适用于本手写识别的cnn结构,构造一个两层卷积神经网络,神经网络的结构如下图所示: 输入-卷积-pooling-卷积-pooling ...

  2. 安装Xcode 7 beta后Xcode 6崩溃的问题

    最新解决方案:把OSX El Capitan升级到Beta 7  (15A263e),Xcode6可使用! 解决方案:http://stackoverflow.com/questions/318035 ...

  3. redhat linux 中设置网卡固定ip

    更改 /etc/sysconfig/network-scripts/ifcfg-eth0(第一个网卡为eth0) DEVICE=eth0#网卡设备名称 ONBOOT=yes#启动时是否激活 yes | ...

  4. Jquery过滤选择器,选择前几个元素,后几个元素,内容过滤选择器等

    一.基本过滤选择器(重点掌握下列八个):first 选取第一个元素 $("div:first").css("color","red");:l ...

  5. Python ord()与chr()函数

    chr():十进制或十六进制数(0-255)转成对应的ASCII字符. ord():ASCII字符转成对应的十进制数. 一个小性质:ASCII表中大写字母排在前面小写排在后面,相差32. 比如: or ...

  6. ES6-浏览器运行环境配置方法

    现在ES6用的越来越多,想要学习使用ES6,只需简单搭建引入几个js即可运行ES6代码 但是需要基本的服务器环境下运行(如http://10.12.8.161:8047/js-test/export/ ...

  7. 2825 codevs危险的组合(递推)

    2825 危险的组合 时间限制: 1 s 空间限制: 64000 KB 题目等级 : 钻石 Diamond 题目描述 Description 有一些装有铀(用U表示)和铅(用L表示)的盒子,数量均足够 ...

  8. php写入数据到mysql数据库中出现乱码解决方法

    乱码情况: 在选择数据库前加入一句代码即可 mysql_query("set names utf8"); 最后效果

  9. Oracle查询数据表结构(字段,类型,大小,备注)

    作用:想要生成整个Oracle数据库所有表结构WORD文档(数据库设计说明书) Oracle数据库字典介绍    Oracle数据字典是有表和视图组成的,存储有关数据库结构信息的一些数据库对象.数据库 ...

  10. div 遮罩层 弹窗

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...