oracle中用于返回日期和时间,oracle中日期和时间函数的使用
日期和时间函数的使用
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中日期和时间函数的使用相关推荐
- python返回绝对值的函数_Python中用于返回绝对值的abs()方法
Python中用于返回绝对值的abs()方法 方法abs() 返回x的绝对值,-x-零之间的(正极)的距离. 语法 以下是abs()方法的语法: abs( x ) 参数 x -- 这是一个数值表达式 ...
- java中用于定义小数的关键字_Java 中用于定义小数的关键字有两个:( ) 和 ( )。_学小易找答案...
[填空题]列举至少三种中药饮片现代贮藏方法 [单选题]用于薄壁形零件联接时,应采用 . [填空题]若螺纹的直径和螺纹副的摩擦系数一定, 则拧紧螺母时的效率取决于螺纹的 和 . [单选题]以太网采用的介 ...
- oracle存储过程没有返回值,Java调用Oracle存储过程(无返回值)
无返回值: 1:创建存储过程 此存储过程向表中插入一条数据 create or replace procedure demo_procedure(id varchar2,name varchar2,a ...
- python中用于返回元组中元素最小值的是_• 编写函数,查找序列元素的最大值和最小值。给定一个序列,返回一个元组,其中元组第一个元素为序列最大值,第二个元素为序列最小值 。_学小易找答案...
[计算题]编写函数 demo(m,n) ,接收两个正整数作为参数,返回一个元组,其中第一个元素为最大公约数,第二个元素为最小公倍数. (4.0分) [计算题]递归算法计算组合数.实现函数 cni(n, ...
- python中用于获取当前目录的是_python中获得当前目录和上级目录的实现方法
python中获得当前目录和上级目录的实现方法 获取当前文件的路径: from os import path d = path.dirname(__file__) #返回当前文件所在的目录 # __f ...
- django序列化器嵌套_Django Rest Framework中用于OneToOne字段的序列化程序中的嵌套关系
django序列化器嵌套 The Django Rest Framework (DRF) is one of the effectively written frameworks around Dja ...
- java中用于定义小数的关键字_Java中用于定义小数的关键字有两个:() 和 (),后者精度高于前者。...
1.[ 填空题 ]给Java中的菜单项设置快捷键所使用的类中对应的构造方法为______. 2.[ 主观题 ][程序设计题]编写一个方法hex3704(),要求将一个十进制正整数n转换成十六进制数,其 ...
- [转载]Asp.net MVC中Controller返回值类型
Asp.net MVC中Controller返回值类型 在mvc中所有的controller类都必须使用"Controller"后缀来命名 并且对Action也有一定的要求: 必须 ...
- 【笔记】python的遍历字典:遍历所有键值对(方法items())、遍历字典中的所有键(方法keys())、按特定顺序遍历字典中的所有键、遍历字典中的所有值(方法values())、函数set()
文章目录 一.python的遍历字典 二.遍历所有键值对(方法items()) 三.遍历字典中的所有键(方法keys()) 四.按特定顺序遍历字典中的所有键 五.遍历字典中的所有值(方法values( ...
最新文章
- 255套绝美ppt模板!适用于总结汇报、形象宣传、授课培训、项目介绍、毕业答辩等...
- 每天AI资讯这么多,该看哪些?推荐一份优质AI内参!
- SAP 系统中图标代码的查找
- 即构科技金健忠:回顾20年音视频技术演进
- oracle表名最大长度6,Oracle中表名的最大长度是多less?
- 洛谷 1226 取余运算||快速幂
- sql实现like多个值的查询
- Linux系统编程39:多线程之基于阻塞队列生产者与消费者模型
- 半深入理解CSS3 object-position/object-fit属性
- 简述银行会计科目的分类
- FFmpeg源码分析:avcodec_find_decoder()查找解码器
- Flink实时数仓--ClickHouse数据可视化接口实现、Sugar 数据大屏
- centos7安裝搜狗輸入法_centos7安装搜狗输入法
- python f检验 模型拟合度_模型评估指标(RMSE、MSE、MAE、R2准确率、召回率、F1、ROC曲线、AUC曲线、PR曲线)...
- c语言bellman算法,深入理解Bellman-Ford(SPFA)算法
- 评价RA滑膜炎的综合评分系统的计量学特点: 来自一项随机、前瞻、多中心研究的结果...
- html5游戏制作入门系列教程(一)
- Java-坦克大战2
- 使得法国文化公司的根深蒂固
- 分布式搜索elasticsearch搜索功能【深入】