日期和时间函数的使用

1,           SYSDATE:此函数用于返回系统当前日期

2,           ADD_MONTHS(日期,n):返回指定日期之前或之后的n个月所对应的日期(n为正整数表示指定日期之后,n为负整数表示指定日期之前)

3,           LAST_DAY(日期时间):此函数返回特定日期所在月份最后一天

4,  NEXT_DAY(日期时间,string):此函数用于返回指定日期后的第一个工作日(由参数string指定)所对应的日期

SQL> –查询今天的日期,以及今天是星期几

SQL> SELECT SYSDATE,to_char(SYSDATE,’day’) FROM dual;

SYSDATE     TO_CHAR(SYSDATE,’DAY’)

———– ———————-

2014/7/24 1 星期四

SQL> –查询下一个星期天是哪一天

SQL> select next_day(sysdate,’星期日’) from dual;

NEXT_DAY(SYSDATE,’星期日’)

————————–

2014/7/27 14:10:28

5,  返回日期是星期几

SQL> select sysdate,to_char(sysdate,’dy’) from dual;

SYSDATE     TO_CHAR(SYSDATE,’DY’)

———– ———————

2014/7/24 1 星期四

6,  CURRENT_DATE:此函数返回当前会话时区对应的日期时间

SQL> select current_date from dual;

CURRENT_DATE

————–

24-7月 -14

SQL> select sysdate from dual;

SYSDATE

————–

24-7月 -14

oracle中sysdate和current_date两者的区别

The SYSDATE function returns the current date and time on the server while the CURRENT_DATE function returns the current date and time of the session. sysdate取的是服务器(主机)的当前日期和时间 current_date取得是会话的当前日期和时间

注意:一般情况下,二者相同。但如果修改了当前会话的时区,则会不同。

例:

SQL> –查看数据库时区

SQL> select dbtimezone from dual;

DBTIMEZONE

———-

+00:00

如果修改当前会话的时区,比如将中国的时区为东八区,修改为东九区,则current_date显示的时间为东九区时间, 根据东加西减的原则,current_date应该比sysdate快一小时.

更改会话,显示年,月,日,小时,分钟,秒

alter session set nls_date_format=’yyyy-mm-dd hh24:mi:ss’;

查看结果:

SQL> alter session set nls_date_format=’yyyy-mm-dd hh24:mi:ss’;

会话已更改。

SQL> select sysdate,current_date from dual;

SYSDATE             CURRENT_DATE

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

2014-07-24 14:18:21 2014-07-24 14:18:21

注意,current_date比sysdate快了一秒

修改当前会话时区为东九区

alter session set time_zone=’+09:00′;

SQL> alter session set time_zone=’+09:00′;

会话已更改。

SQL> select sysdate,current_date from dual;

SYSDATE             CURRENT_DATE

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

2014-07-24 14:21:31 2014-07-24 15:21:31

7,  EXTRACT:此函数从日期时间值中取得特定数据

SQL> select sysdate,extract(year from sysdate) from dual;

SYSDATE     EXTRACT(YEARFROMSYSDATE)

———– ————————

2014/7/24 1                     2014

SQL> select sysdate,extract(month from sysdate) from dual;

SYSDATE     EXTRACT(MONTHFROMSYSDATE)

———– ————————-

2014/7/24 1                         7

SQL> select sysdate,extract(day from sysdate) from dual;

SYSDATE     EXTRACT(DAYFROMSYSDATE)

———– ———————–

2014/7/24 1                     24

SQL> select sysdate,extract(hour from sysdate) from dual;

select sysdate,extract(hour from sysdate) from dual

ORA-30076: 对析出来源无效的析出字段

SQL> select sysdate,extract(minute from sysdate) from dual;

select sysdate,extract(minute from sysdate) from dual

ORA-30076: 对析出来源无效的析出字段

SQL> select sysdate,extract(second from sysdate) from dual;

select sysdate,extract(second from sysdate) from dual

ORA-30076: 对析出来源无效的析出字段

以上的三条查询语句都报错,即现在取得了年,月,日,而没法取得小时,分钟和秒。

SQL> select sysdate,extract(hour from timestamp ‘2014-07-24 14:25:25’) from dual;

SYSDATE     EXTRACT(HOURFROMTIMESTAMP’2014

———– ——————————

2014/7/24 1                             14

SQL> select sysdate,extract(minute from timestamp ‘2014-07-24 14:25:25’) from dual;

SYSDATE     EXTRACT(MINUTEFROMTIMESTAMP’20

———– ——————————

2014/7/24 1                             25

SQL> select sysdate,extract(second from timestamp ‘2014-07-24 14:25:25’) from dual;

SYSDATE     EXTRACT(SECONDFROMTIMESTAMP’20

———– ——————————

2014/7/24 1                             25

总结:如果要使用EXTRACT函数抽取日期和时间中的特定数据,使用如下的语法:

EXTRACT(HOUR|MINUTE|SECOND from TIMESTAMP 时间字符串)

8,         MONTHS_BETWEEN(日期1,日期2):此函数返回日期1-日期2的月份差,此值可正,可负,也可以为0

SQL> select sysdate,extract(hour from timestamp ‘2014-07-24 14:25:25’) from dual;

SYSDATE     EXTRACT(HOURFROMTIMESTAMP’2014

———– ——————————

2014/7/24 1                             14

SQL> select sysdate,extract(minute from timestamp ‘2014-07-24 14:25:25’) from dual;

SYSDATE     EXTRACT(MINUTEFROMTIMESTAMP’20

———– ——————————

2014/7/24 1                             25

SQL> select sysdate,extract(second from timestamp ‘2014-07-24 14:25:25’) from dual;

SYSDATE     EXTRACT(SECONDFROMTIMESTAMP’20

———– ——————————

2014/7/24 1                             25

oracle中用于返回日期和时间,oracle中日期和时间函数的使用相关推荐

  1. python返回绝对值的函数_Python中用于返回绝对值的abs()方法

    Python中用于返回绝对值的abs()方法 方法abs() 返回x的绝对值,-x-零之间的(正极)的距离. 语法 以下是abs()方法的语法: abs( x ) 参数 x -- 这是一个数值表达式 ...

  2. java中用于定义小数的关键字_Java 中用于定义小数的关键字有两个:( ) 和 ( )。_学小易找答案...

    [填空题]列举至少三种中药饮片现代贮藏方法 [单选题]用于薄壁形零件联接时,应采用 . [填空题]若螺纹的直径和螺纹副的摩擦系数一定, 则拧紧螺母时的效率取决于螺纹的 和 . [单选题]以太网采用的介 ...

  3. oracle存储过程没有返回值,Java调用Oracle存储过程(无返回值)

    无返回值: 1:创建存储过程 此存储过程向表中插入一条数据 create or replace procedure demo_procedure(id varchar2,name varchar2,a ...

  4. python中用于返回元组中元素最小值的是_• 编写函数,查找序列元素的最大值和最小值。给定一个序列,返回一个元组,其中元组第一个元素为序列最大值,第二个元素为序列最小值 。_学小易找答案...

    [计算题]编写函数 demo(m,n) ,接收两个正整数作为参数,返回一个元组,其中第一个元素为最大公约数,第二个元素为最小公倍数. (4.0分) [计算题]递归算法计算组合数.实现函数 cni(n, ...

  5. python中用于获取当前目录的是_python中获得当前目录和上级目录的实现方法

    python中获得当前目录和上级目录的实现方法 获取当前文件的路径: from os import path d = path.dirname(__file__) #返回当前文件所在的目录 # __f ...

  6. django序列化器嵌套_Django Rest Framework中用于OneToOne字段的序列化程序中的嵌套关​​系

    django序列化器嵌套 The Django Rest Framework (DRF) is one of the effectively written frameworks around Dja ...

  7. java中用于定义小数的关键字_Java中用于定义小数的关键字有两个:() 和 (),后者精度高于前者。...

    1.[ 填空题 ]给Java中的菜单项设置快捷键所使用的类中对应的构造方法为______. 2.[ 主观题 ][程序设计题]编写一个方法hex3704(),要求将一个十进制正整数n转换成十六进制数,其 ...

  8. [转载]Asp.net MVC中Controller返回值类型

    Asp.net MVC中Controller返回值类型 在mvc中所有的controller类都必须使用"Controller"后缀来命名 并且对Action也有一定的要求: 必须 ...

  9. 【笔记】python的遍历字典:遍历所有键值对(方法items())、遍历字典中的所有键(方法keys())、按特定顺序遍历字典中的所有键、遍历字典中的所有值(方法values())、函数set()

    文章目录 一.python的遍历字典 二.遍历所有键值对(方法items()) 三.遍历字典中的所有键(方法keys()) 四.按特定顺序遍历字典中的所有键 五.遍历字典中的所有值(方法values( ...

最新文章

  1. 255套绝美ppt模板!适用于总结汇报、形象宣传、授课培训、项目介绍、毕业答辩等...
  2. 每天AI资讯这么多,该看哪些?推荐一份优质AI内参!
  3. SAP 系统中图标代码的查找
  4. 即构科技金健忠:回顾20年音视频技术演进
  5. oracle表名最大长度6,Oracle中表名的最大长度是多less?
  6. 洛谷 1226 取余运算||快速幂
  7. sql实现like多个值的查询
  8. Linux系统编程39:多线程之基于阻塞队列生产者与消费者模型
  9. 半深入理解CSS3 object-position/object-fit属性
  10. 简述银行会计科目的分类
  11. FFmpeg源码分析:avcodec_find_decoder()查找解码器
  12. Flink实时数仓--ClickHouse数据可视化接口实现、Sugar 数据大屏
  13. centos7安裝搜狗輸入法_centos7安装搜狗输入法
  14. python f检验 模型拟合度_模型评估指标(RMSE、MSE、MAE、R2准确率、召回率、F1、ROC曲线、AUC曲线、PR曲线)...
  15. c语言bellman算法,深入理解Bellman-Ford(SPFA)算法
  16. 评价RA滑膜炎的综合评分系统的计量学特点: 来自一项随机、前瞻、多中心研究的结果...
  17. html5游戏制作入门系列教程(一)
  18. Java-坦克大战2
  19. 使得法国文化公司的根深蒂固
  20. 分布式搜索elasticsearch搜索功能【深入】

热门文章

  1. (C语言)小玉家的电费
  2. 人们对一件事情的评价很容易偏激
  3. 关于Java中Switch支持的数据类型
  4. Vue关键字搜索功能(小案例)
  5. windows命令行设置IP与DNS
  6. 巡风配置安装 –centOS6.5
  7. gitolite的部署
  8. OSChina 周日乱弹 —— 让人热血沸腾的女人
  9. Android 9.0 显示系统导航栏(左/右/底部)
  10. FME中二维管线数据三维化及生成带属性3dtiles