首页 > 数据库 > Oracle > PL/SQL每日一题:输出负数
题目:
哪些选项输出一个负数?如果你确信以下都不对,那么请选E
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正好相反,返回整数
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/26515977/viewspace-1207946/ ,如需转载,请注明出处,否则将追究法律责任。