加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Oracle中有关日期的语法

发布时间:2020-12-12 13:39:51 所属栏目:百科 来源:网络整理
导读:Oracle中有关日期的语法 Oracle提供了丰富的日期函数。利用日期函数可以灵活的对日期进行运算。 ? to_date()函数——将字符串转换为日期型 to_date()函数用于将字符串转换为日期。被转换的字符串必须符合特定的日期格式。 select to_date(‘12/02/09‘,‘mm/

Oracle中有关日期的语法

Oracle提供了丰富的日期函数。利用日期函数可以灵活的对日期进行运算。

?

to_date()函数——将字符串转换为日期型

to_date()函数用于将字符串转换为日期。被转换的字符串必须符合特定的日期格式。

select to_date(‘12/02/09‘,‘mm/dd/yy‘) result from dual;

?

?

add_months()函数——为日期加上特定月份

add_months()函数将为日期添加特定月份,并获得新的日期。

select to_char(add_months(sysdate,2),‘yyyy-mm-dd‘) result from dual;

?

?

last_day()函数——返回特定日期所在月的最后一天

last_day()函数将接受一个日期参数。该函数首先获得日期参数所在月的信息,然后获得该月最后一天的日期。

select to_char(last_day(sysdate),‘yyyy-mm-dd‘) result from dual;

可以综合利用add_months()函数来获得若干月之后的月份的最后一天。

select to_char(last_day(add_months(sysdate,3)),‘yyyy-mm-dd‘) result from dual;

?

?

months_between ()函数——返回两个日期所差的月数

months_between()函数用于获取两个日期所间隔的月数。该函数的返回值是一个实数。

select months_between(sysdate,to_date(‘2009-02-08‘,‘yyyy-mm-dd‘)) result from dual;

当第一个日期早于第二个日期,那么返回值将是负值。

select months_between(to_date(‘2009-02-08‘,‘yyyy-mm-dd‘),to_date(‘2009-03-08‘,‘yyyy-mm-dd‘)) result from dual;

?

?

current_date()函数——返回当前会话时区的当前日期

current_date()函数用于返回当前会话时区的当前日期。

select sessiontimezone,to_char(current_date,‘yyyy-mm-dd hh:mi:ss‘) result from dual;

注意与说明:current_date等无参数函数作为Oracle的关键字存在。在使用时,不能为其添加小括号。即select current_date() from dual是错误的SQL语句。

?

?

current_timestamp()函数——返回当前会话时区的当前时间戳

current_timestamp()函数用于返回当前会话时的区时间戳。可以结合sessiontimezone来查看其用法。

select sessiontimezone,current_timestamp from dual;

?

?

extract()函数——返回日期的某个域

日期由若干域组成,例如年、月、日、小时等等。extract()函数可以返回这些域的具体值。为了使用该函数,除了要指定原日期外,还应该指定要返回的域名。

select extract(year from sysdate) result from dual;

需要注意的是,year、month、day域只能从日期(如sysdate)中获得,而hour、minute、second只能从时间型(如systimestamp)中获得。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读