PL/SQL Challenge 每日一题:2015-1-10 CEIL函数

[复制链接]
查看11 | 回复9 | 2008-9-15 01:28:12 | 显示全部楼层 |阅读模式
最先答对且答案未经编辑的puber将获得纪念章一枚(答案不可编辑但可发新贴补充或纠正),其他会员如果提供有价值的分析、讨论也可获得纪念章一枚。
以往旧题索引:
http://www.itpub.net/forum.php?m ... eid&typeid=1808
原始出处:
http://www.plsqlchallenge.com/
作者:Steven Feuerstein
运行环境:SQLPLUS, SERVEROUTPUT已打开
注:本题给出答案时候要求给予简要说明才能得到奖品
哪些选项执行之后会显示 "0"?
(A)
BEGIN
DBMS_OUTPUT.put_line (365 - CEIL (364.1));
END;
/
(B)
BEGIN
DBMS_OUTPUT.put_line (365 - CEIL (364));
END;
/
(C)
BEGIN
DBMS_OUTPUT.put_line (365 - CEIL (-364.5));
END;
/
(D)
BEGIN
DBMS_OUTPUT.put_line (365 - CEIL (364.7));
END;
/
(E)
BEGIN
DBMS_OUTPUT.put_line (365 - ABS (CEIL (-364.5)));
END;
/

回复

使用道具 举报

千问 | 2008-9-15 01:28:12 | 显示全部楼层
ad?
回复

使用道具 举报

千问 | 2008-9-15 01:28:12 | 显示全部楼层
AD,不解释
回复

使用道具 举报

千问 | 2008-9-15 01:28:12 | 显示全部楼层
oracle_cj 发表于 2015-1-14 06:31
AD,不解释

不解释没分拿
回复

使用道具 举报

千问 | 2008-9-15 01:28:12 | 显示全部楼层
ceil 函数,把小数部分非零时,进一,即整数部分加一,不论正负。
这样一来,AD 是对的。
CEIL (364.1) = 365
CEIL (364) = 364
CEIL (-364.5) = -363
CEIL (364.7) = 365
ABS (CEIL (-364.5)) = 363

回复

使用道具 举报

千问 | 2008-9-15 01:28:12 | 显示全部楼层
AD, ceil是向上四舍五入
回复

使用道具 举报

千问 | 2008-9-15 01:28:12 | 显示全部楼层
wmxcn2000 发表于 2015-1-14 08:20
ceil 函数,把小数部分非零时,进一,即整数部分加一,不论正负。
这样一来,AD 是对的。

负数那个你确定没整错?
回复

使用道具 举报

千问 | 2008-9-15 01:28:12 | 显示全部楼层
oracle_cj 发表于 2015-1-14 08:42
负数那个你确定没整错?

惭愧,惭愧!!感谢指点,感谢指点。
我刚试了一下,结果是,正数有小数时进位,负数小数给抹掉,附结果如下:连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> select ceil(1.00000001) a1, ceil(1.99999999)a2 from dual ;
A1 A2
---------- ----------
2
2
SQL> select ceil(-1.00000001) a1, ceil(-1.99999999)a2 from dual ;
A1 A2
---------- ----------
-1 -1
SQL>复制代码
回复

使用道具 举报

千问 | 2008-9-15 01:28:12 | 显示全部楼层
纠正一下: 感谢7# 的指点:


ceil 函数,正数有小数时进位,负数小数给抹掉
这样一来,AD 是对的。
CEIL (364.1) = 365
CEIL (364) = 364
CEIL (-364.5) = -364
CEIL (364.7) = 365
ABS (CEIL (-364.5)) = 364
回复

使用道具 举报

千问 | 2008-9-15 01:28:12 | 显示全部楼层
ceil 函数,把小数部分非零时,进一,即正数+1, 负数的话 去掉小数点
AD 是对的。
CEIL (364.1) = 365
CEIL (364) = 364
CEIL (-364.5) = -364
CEIL (364.7) = 365
ABS (CEIL (-364.5)) = 364
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行