oracle时间函数(求每月第一天.docVIP

  • 69
  • 0
  • 约3.49千字
  • 约 5页
  • 2018-03-09 发布于河南
  • 举报
oracle时间函数(求每月第一天

一、Oracle的日期函数: Oracle从8i开始就提供了大量的日期函数,这些日期函数包括对日期进行加减、转换、截取等功能。下面是Oracle提供的日期函数一览表 Function Use ADD_MONTHS Adds months to a date LAST_DAY Computes the last day of the month MONTHS_BETWEEN Determines the number of months between two dates NEW_TIME Translates a time to a new time zone NEXT_DAY Returns the date of the next specified weekday ROUND Rounds a date/time value to a specified element SYSDATE Returns the current date and time TO_CHAR Converts dates to strings TO_DATE Converts strings and numbers to dates TRUNC Truncates a date/time value to a specific element 二、日期加减: 在Oralce中,对日期进行加减操作的默认单位是天,也就是说如果我们向当前日期加1的话是加上一天,而不是一秒或一小时。那么对一天中的一段时间进行加减要怎么做呢?很简单!只需将它们转化为以天为单位即可。 【1】为当前时间加上30分钟: SQL select to_char(sysdate, yyyy-mm-dd hh:mi:ss) now_date, to_char(sysdate+(30/24/60), yyyy-mm-dd hh:mi:ss) new_date from dual; NOW_DATE NEW_DATE -------------------------------------- -------------------------------------- 2008-06-30 10:47:31 2008-06-30 11:17:31 SQL 我们看到了在绿色高亮处使用30/24/60将分钟转换成天。另外一个要注意的地方是:SQL*PLUS环境下默认的日期格式:NLS_DATE_FORMAT是DD-MM-YYYY,也即是不包含时、分、秒,所以我们这里必须采用to_char的方式指定输入的日期格式。 除此之外也可以通过在SQL*PLUS中执行下列语句修改默认的日期输出格式,这样的话就不需要通过to_char来转换了,直接输出就行。 alter session set nls_date_format=yyyy-mm-dd hh24:mi:ss; 【2】为当前时间减去30分钟: SQL select to_char(sysdate+(-30/24/60),yyyy-mm-dd hh:mi:ss) new_date from dual; NEW_DATE -------------------------------------- 2008-06-30 10:24:59 只需要加上一个负数即可以了。 三、月份加减: 月份的加减和日期加减相比要难了很多,因为每个月份的天数并不是固定的,可能是31,30,29,28。如果采用上面的方法将月份转换成实际天数将不可避免地出现多个判断,幸亏Oracle为我们提供了一个add_months函数,这个函数会自动判断月???的天数。看看下面的例子: 【1】为当前时间加上6个月: SQL select add_months(sysdate, 6) from dual; ADD_MONTHS ---------- 31-12月-08 【2】为当前时间减去6个月: SQL select add_months(sysdate, -6) from dual; ADD_MONTHS ---------- 31-12月-07 【3】求两个日期相差的月数: 通常情况下两个时间相减将得到以天数为单位的结果,可是有时我们更希望得到以月为单位的结果,如果手动转换这太麻烦了,所以Oracle又提供了一个函数,这个函数就是months_between。 SQL select months_between(sysdate, to_date(2008-01-01 01:00:00, yyyy-mm-dd hh:mi:ss)) result f

文档评论(0)

1亿VIP精品文档

相关文档