PLSQL总结——12.时间与时间戳

/*
  关于时间戳的用法
*/

declare
  my_date       date;
  my_timesstamp timestamp; --精确

  start_date date;
  end_date   date;
  /*时间戳1变量*/
  my_age    interval year to month; --安装年月计算的时间戳
  my_years  number;
  my_months number;
  /*时间戳2变量*/
  my_times   interval day to second; --安装小时计算的时间戳,默认是timestamp精度计算
  my_hours   number;
  my_minutes number;
  my_seconds number;

begin
  /*date与timestamp区别*/
  my_date       := sysdate;
  my_timesstamp := sysdate;

  dbms_output.put_line(my_date);
  dbms_output.put_line(my_timesstamp);

  /*时间戳1*/
  start_date := to_date('15-AUG-88',
                        'DD-MON-RR',
                        'NLS_DATE_LANGUAGE=AMERICAN');
  end_date   := to_date('24-JAN-12',
                        'DD-MON-RR',
                        'NLS_DATE_LANGUAGE=AMERICAN');

  my_age := (end_date - start_date) year to month;

  dbms_output.put_line(my_age);

  my_years  := extract(year from my_age);
  my_months := extract(month from my_age);
  dbms_output.put_line('the year is ' || my_years);
  dbms_output.put_line('the months is ' || my_months);

  /*时间戳2*/
  start_date := to_date('4-56-34',
                        'hh24-mi-ss',
                        'NLS_DATE_LANGUAGE=AMERICAN');
  end_date   := to_date('23-58-30',
                        'hh24-mi-ss',
                        'NLS_DATE_LANGUAGE=AMERICAN');

  my_times := (end_date - start_date) day to second;

  dbms_output.put_line(my_times);
  my_hours   := extract(hour from my_times);
  my_minutes := extract(minute from my_times);
  my_seconds := extract(second from my_times);

  dbms_output.put_line('the hour is ' || my_hours);
  dbms_output.put_line('the minutes is ' || my_minutes);
  dbms_output.put_line('the seconds is ' || my_seconds);

end;

/*
--查选nls的设置
--select * from nls_session_parameters
*/
/*
--修改session的nls
begin
  dbms_session.set_nls('NLS_LANGUAGE', 'AMERICAN');
end;
*/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值