日期:2014-05-17  浏览次数:21063 次

Oracle round函数使用
我在别人的存储过程中看到dt_stat_time date := round(dt_time, 'mi');
dt_time是date类型的输入参数

不知道这样可以使用吗?  在网上看了很多round基本都是对number进行四舍五入的   没有看到对date类型数据进行操作的   请问可以这样用吗  谢谢啦
oracle round

------解决方案--------------------
   好像是 不能吧,因为 他在封装的时候 就是 整数类型的 ,所以 不能 这样,要想用你就 转化成 整数 类型的 吧
------解决方案--------------------
简单的测试一下啦
结果显示:
输入2013-03-19 00:00:31 输出2013-03-19 00:01:00
输入2013-03-19 00:00:29 输出2013-03-19 00:00:00
declare
  i_date date;
begin
  i_date := trunc(sysdate) + 31 / (24 * 60 * 60); --2013-03-19 00:00:31
  i_date := round(i_date, 'MI');
  dbms_output.put_line(to_char(i_date, 'YYYY-MM-DD HH24:MI:SS')); --输出2013-03-19 00:01:00

  i_date := trunc(sysdate) + 29 / (24 * 60 * 60); --2013-03-19 00:00:29
  i_date := round(i_date, 'MI');
  dbms_output.put_line(to_char(i_date, 'YYYY-MM-DD HH24:MI:SS')); --输出2013-03-19 00:00:00  
end;