oracle 结果负数取0,输出负数【oracle学习吧】_百度贴吧

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

题目:

哪些选项输出一个负数?如果你确信以下都不对,那么请选E[sql]

A DECLARE

l_date2 DATE := date '2012-12-20';

l_date1 DATE := l_date2 - 1;

BEGIN

DBMS_OUTPUT.put_line (MONTHS_BETWEEN (l_date1, l_date2));

END; /

B DECLARE

l_date1 DATE := date '2012-12-20';

l_date2

DATE;

BEGIN

DBMS_OUTPUT.put_line (MONTHS_BETWEEN (l_date1, l_date2));

END; /

C DECLARE

l_date1 DATE := date '2012-12-20';

l_date2 DATE := l_date1;

BEGIN

DBMS_OUTPUT.put_line (MONTHS_BETWEEN (l_date1, l_date2));

END; /

D DECLARE

l_date1 DATE := date '2012-12-20';

l_date2 DATE := l_date1 - 1;

BEGIN

DBMS_OUTPUT.put_line (MONTHS_BETWEEN (l_date1, l_date2));

END; /

知识点补充--MONTHS_BETWEEN的使用说明

Oracle的MONTHS_BETWEEN日期函数返回两个日期之间的月份数,是第一个参数日期到第二个参数日期的月份数

两个参数相等就返回0

第一个参数大于第二个参数返回正数

第一个参数小于第二个参数返回负数。

取绝对值在取整就得到月份数

答案:

① A 正确

② B L_DATE2没有赋值,故MONTHS_BETWEEN返回空值。

③ C 两个参数一样,返回0.

④ D 结果和A正好相反,返回整数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值