频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

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

来源: 作者: 出处:巧巧读书 2006-07-28 进入讨论组

  在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_value|interval_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()给定一个日期值,返回由第二个参数指出的日子第一次出现在的日期值(应返回相应日子的名称字符串)浏览地址: http://www.qqread.com/oracle/2006/08/d883190052.html 更多文章 更多内容请看Oracle 10g基础应用数据库体系架构Oracle基础专题,或进入讨论组讨论。
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章