Oracle数据库之日期函数操作处理

来源:爱站网时间:2022-01-28编辑:网友分享
很多朋友对Oracle数据库中的日期不知道怎么进行处理操作,这个需要通过日期函数来实现才能完成,对这方面感兴趣的小伙伴,可以随爱站技术频道小编来一探究竟。

  Oracle日期函数用于对Oracle数据库中的日期及时间进行处理,下面就为您详细介绍Oracle日期函数的用法,希望对您能有所启迪。

  (1)SYSDATE和TRUNC

  两个Oracle日期函数取Oracle服务器系统的日期和截掉小数部分的功能。观察以下操作:

  create table test_date (name varchar2(20), p_date date);

  insert into test_date values(‘name1',sysdate);

  select * from test_date;

  select * from test_date where p_date='25-10月-05‘;

  select * from test_date where trunc(p_date)= '25-10月-05‘;

  Oracle系统中用SYSDATE取得的不仅包含日期而且还包含的有时间信息,时间信息实际上就是表示儒略日数据中的小数部分。

  (2)ADD_MONTHS

  Oracle日期函数返回一个具有与所提供日期相差月份的日期,函数中给出了未来或以前的月份数。语法如下:

  ADD_MONTHS(起始日期,增减月数)

  select add_months('26-10月-05‘,2) from dual;

  select add_months('26-10月-05‘,-2) from dual;

  (3)LAST_DAY

  返回包含给定日期的那个月的最后一天。语法为:

  LAST_DAY(日期)

  select last_day('21-2月-80‘) from dual;

  (4)MONTHS_BETWEEN

  返回两个日期间的月份。语法为:

  MONTHS_BETWEEN(较晚日期,较早日期)

  select months_between('12-10月-05‘,'12-9月-03‘) from dual;

  以下是一些补充资料,虽然有点仄,但参考下吧

  在oracle中有很多关于日期的函数,

  如:

  1、add_months()用于从一个日期值增加或减少一些月份date_value:=add_months(date_value,number_of_months)例:SQL>selectadd_months(sysdate,12)NextYearfromdual;NextYear----------13-11月-04SQL>selectadd_months(sysdate,112)LastYearfromdual;LastYear----------13-3月-13SQL>

  2、current_date()返回当前会放时区中的当前日期date_value:=current_dateSQL>columnsessiontimezonefora15SQL>selectsessiontimezone,current_datefromdual;SESSIONTIMEZONECURRENT_DA-------------------------+08:0013-11月-03SQL>altersessionsettime_zone=-11:002/会话已更改。SQL>selectsessiontimezone,current_timestampfromdual;SESSIONTIMEZONECURRENT_TIMESTAMP----------------------------------------------------11:0012-11月-0304.59.13.668000下午-11:00SQL>

  3、current_timestamp()以timestampwithtimezone数据类型返回当前会放时区中的当前日期timestamp_with_time_zone_value:=current_timestamp([timestamp_precision])SQL>columnsessiontimezonefora15SQL>columncurrent_timestampformata36SQL>selectsessiontimezone,current_timestampfromdual;SESSIONTIMEZONECURRENT_TIMESTAMP---------------------------------------------------+08:0013-11月-0311.56.28.160000上午+08:00SQL>altersessionsettime_zone=-11:002/会话已更改。SQL>selectsessiontimezone,current_timestampfromdual;SESSIONTIMEZONECURRENT_TIMESTAMP----------------------------------------------------11:0012-11月-0304.58.00.243000下午-11:00SQL>

  4、dbtimezone()返回时区varchar_value:=dbtimezoneSQL>selectdbtimezonefromdual;DBTIME-------07:00SQL>

  5、extract()找出日期或间隔值的字段值date_value:=extract(date_fieldfrom[datetime_value|interval_value])SQL>selectextract(monthfromsysdate)ThisMonthfromdual;ThisMonth----------11SQL>selectextract(yearfromadd_months(sysdate,36))3YearsOutfromdual;3YearsOut-----------2006

  6、last_day()返回包含了日期参数的月份的最后一天的日期date_value:=last_day(date_value)SQL>selectlast_day(date2000-02-01)LeapYr?fromdual;LeapYr?----------29-2月-00SQL>selectlast_day(sysdate)Lastdayofthismonthfromdual;Lastdayo----------30-11月-03SQL>

  7、localtimestamp()返回会话中的日期和时间timestamp_value:=localtimestampSQL>columnlocaltimestampformata28SQL>selectlocaltimestampfromdual;LOCALTIMESTAMP----------------------------13-11月-0312.09.15.433000下午SQL>selectlocaltimestamp,current_timestampfromdual;LOCALTIMESTAMPCURRENT_TIMESTAMP----------------------------------------------------------------13-11月-0312.09.31.00600013-11月-0312.09.31.006000下午+08:下午00SQL>altersessionsettime_zone=-11:00;会话已更改。SQL>selectlocaltimestamp,to_char(sysdate,DD-MM-YYYYHH:MI:SSAM)SYSDATEfromdual;LOCALTIMESTAMPSYSDATE----------------------------------------------------12-11月-0305.11.31.25900013-11-200312:11:31下午下午SQL>

  8、months_between()判断两个日期之间的月份数量number_value:=months_between(date_value,date_value)SQL>selectmonths_between(sysdate,date1971-05-18)fromdual;MONTHS_BETWEEN(SYSDATE,DATE1971-05-18)----------------------------------------389.855143SQL>selectmonths_between(sysdate,date2001-01-01)fromdual;MONTHS_BETWEEN(SYSDATE,DATE2001-01-01)----------------------------------------34.4035409SQL>

  9、next_day()给定一个日期值,返回由第二个参数指出的日子第一次出现在的日期值(应返回相应日子的名称字符串) 。

Oracle数据库之日期函数操作处理的全部内容,爱站技术频道小编就分享到这里了,如果还有哪些不懂的技术问题需要攻破的,来网站给小编留言。

上一篇:实现动态Web的基本原理

下一篇:有关Oracle数据安全的介绍

您可能感兴趣的文章

相关阅读

热门软件源码

最新软件源码下载