Oracle日期函数简介

鼓楼那河里

鼓楼那河里

2016-02-19 10:59

给自己一点时间接受自己,爱自己,趁着下午茶的时间来学习图老师推荐的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

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

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

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 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    

 6、last_day()返回包含了日期参数的月份的最后一天的日期 date_value:=last_day(date_value) SQL select last_day(date2000-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     

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

  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,date1971-05-18) from dual;    MONTHS_BETWEEN(SYSDATE,DATE1971-05-18) ----------------------------------------                                389.855143    SQL select months_between(sysdate,date2001-01-01) from dual;    MONTHS_BETWEEN(SYSDATE,DATE2001-01-01) ----------------------------------------                                34.4035409    SQL      

 9、next_day()给定一个日期值,返回由第二个参数指出的日子第一次出现在的日期值(应返回相应日子的名称字符串) 本文参考oracle中国联盟 

展开更多 50%)
分享

猜你喜欢

Oracle日期函数简介

编程语言 网络编程
Oracle日期函数简介

oracle 日期函数集合(集中版本)

编程语言 网络编程
oracle 日期函数集合(集中版本)

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

oracle 函数

编程语言 网络编程
oracle 函数

Excel日期时间函数

电脑入门
Excel日期时间函数

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

校验日期的函数

电脑网络
校验日期的函数

Excel函数详解日期和时间函数

电脑入门
Excel函数详解日期和时间函数

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

怎样在html文档里做隔行换色的多行方法

怎样在html文档里做隔行换色的多行方法

__stdcall 和 __cdecl 的区别浅析

__stdcall 和 __cdecl 的区别浅析
下拉加载更多内容 ↓