网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.Oracle的优化原理.
.在 Linux 下建立 FTP 搜索引擎.
.怎样查看SGA值?.
.分析函数lag小技巧.
.oracle 10g 新特性中文笔记一.
.Oracle10g中新的多重集运算符解析.
.Oracle大批量删除数据方法.
.Oracle使用若干技术.
.记几个容易忘的oracle 函数.
.oracle的字段类型.
.Oracle数据库常见问题答疑一.
.ASP 中通过OLEDB访问 Oracle 的代.
.Oracle 10G 最佳20位新特性:SQL.
.解读Oracle 9201的控制文件(一).
.HP-UX rx2600 B.11.22 U ia64 安.
.用户管理的备份.
.Oracle数据库 关于连接池一.
.Oracle 9i在redhat linux as 2.1.
.如何选购Linux可以搭配的机器之其.
.如何一次添加大量账户.

关于oracle日期函数的介绍和使用

发表日期:2008-2-9



  在Oracle中有很多关于日期的函数,如:
  1、add_months()用于从一个日期值增加或减少一些月份
  date_value:=add_months(date_value,number_of_months)
  例:
  SQL> select add_months(sysdate,12) "Next Year" from dual;
  
  Next Year
  ----------
  13-11月-04
  
  SQL> select add_months(sysdate,112) "Last Year" from dual;
  
  Last Year
  ----------
  13-3月 -13
  
  SQL>
  
  2、current_date()返回当前会放时区中的当前日期
  date_value:=current_date
  SQL> column sessiontimezone for a15
  SQL> select sessiontimezone,current_date from dual;
  
  SESSIONTIMEZONE CURRENT_DA
  --------------- ----------
  +08:00 13-11月-03
  
  SQL> alter session set time_zone='-11:00'
   2 /
  
  会话已更改。
  
  SQL> select sessiontimezone,current_timestamp from dual;
  
  SESSIONTIMEZONE CURRENT_TIMESTAMP
  --------------- ------------------------------------
  -11:00 12-11月-03 04.59.13.668000 下午 -11:
          00
  
  SQL>
  
  3、current_timestamp()以timestamp with time zone数据类型返回当前会放时区中的当前日期
  timestamp_with_time_zone_value:=current_timestamp([timestamp_precision])
  SQL> column sessiontimezone for a15
  SQL> column current_timestamp format a36
  SQL> select sessiontimezone,current_timestamp from dual;
  
  SESSIONTIMEZONE CURRENT_TIMESTAMP
  --------------- ------------------------------------
  +08:00 13-11月-03 11.56.28.160000 上午 +08:
          00
  
  SQL> alter session set time_zone='-11:00'
   2 /
  
  会话已更改。
  
  SQL> select sessiontimezone,current_timestamp from dual;
  
  SESSIONTIMEZONE CURRENT_TIMESTAMP
  --------------- ------------------------------------
  -11:00 12-11月-03 04.58.00.243000 下午 -11:
          00
  
  SQL>
  
  4、dBTimezone()返回时区
  varchar_value:=dbtimezone
  SQL> select dbtimezone from dual;
  
  DBTIME
  ------
  -07:00
  
  SQL>
  
  5、extract()找出日期或间隔值的字段值
  date_value:=extract(date_field from [datetime_valueinterval_value])
  SQL> select extract(month from sysdate) "This Month" from dual;
  
  This Month
  ----------
      11
  
  SQL> select extract(year from add_months(sysdate,36)) "3 Years Out" from dual;
  
  3 Years Out
  -----------
      2006
  
  SQL>
  
  6、last_day()返回包含了日期参数的月份的最后一天的日期
  date_value:=last_day(date_value)
  SQL> select last_day(date'2000-02-01') "Leap Yr?" from dual;
  
  Leap Yr?
  ----------
  29-2月 -00
  
  SQL> select last_day(sysdate) "Last day of this month" from dual;
  
  Last day o
  ----------
  30-11月-03
  
  SQL>

  
  7、localtimestamp()返回会话中的日期和时间
  timestamp_value:=localtimestamp
  SQL> column localtimestamp format a28
  SQL> select localtimestamp from dual;
  
  LOCALTIMESTAMP
  ----------------------------
  13-11月-03 12.09.15.433000
  下午
  
  SQL> select localtimestamp,current_timestamp from dual;
  
  LOCALTIMESTAMP CURRENT_TIMESTAMP
  ---------------------------- ------------------------------------
  13-11月-03 12.09.31.006000 13-11月-03 12.09.31.006000 下午 +08:
  下午 00
  
  SQL> alter session set time_zone='-11:00';
  
  会话已更改。
  
  SQL> select localtimestamp,to_char(sysdate,'DD-MM-YYYY HH:MI:SS AM') "SYSDATE" from dual;
  
  LOCALTIMESTAMP SYSDATE
  ---------------------------- ------------------------
  12-11月-03 05.11.31.259000 13-11-2003 12:11:31 下午
  下午
  
  SQL>
  
  8、months_between()判定两个日期之间的月份数量
  number_value:=months_between(date_value,date_value)
  SQL> select months_between(sysdate,date'1971-05-18') from dual;
  
  MONTHS_BETWEEN(SYSDATE,DATE'1971-05-18')
  ----------------------------------------
                 389.855143
  
  SQL> select months_between(sysdate,date'2001-01-01') from dual;
  
  MONTHS_BETWEEN(SYSDATE,DATE'2001-01-01')
  ----------------------------------------
                 34.4035409
  
  SQL>
  
  9、next_day()给定一个日期值,返回由第二个参数指出的日子第一次出现在的日期值(应返回相应日子的名称字符串)
上一篇:Oracle进程导致CPU 100%具体解决步骤 人气:1281
下一篇:Oracle数据类型简介 人气:1921
浏览全部Oracle教程的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐