oracle日期大于2019,PL/SQL Challenge 每日一题:2019-7-1 求月末日期

本文探讨了一个SQL过程,该过程用于显示员工的姓氏及其评估日期。评估日期是在员工入职当月的最后一天,即使那天是周末。提出了四个可能实现此功能的函数选项,并提供了每个选项的说明。问题在于确定哪个函数正确实现了评估日期的计算。
摘要由CSDN通过智能技术生成

(原发表于 2011-12-20)

最先答对且答案未经编辑的puber将获得纪念章一枚(答案不可编辑但可发新贴补充或纠正),其他会员如果提供有价值的分析、讨论也可获得纪念章一枚。

每两周的优胜者可获得itpub奖励的技术图书一本。

以往旧题索引:

http://www.itpub.net/forum.php?m ... eid&typeid=1808

原始出处:

http://www.plsqlchallenge.com/

作者:Steven Feuerstein

运行环境:SQLPLUS, SERVEROUTPUT已打开

注:本题给出答案时候要求给予简要说明才能得到奖品

我们的员工表看起来像这样:

CREATE TABLE plch_employees

(

employee_id   INTEGER

, last_name     VARCHAR2 (100)

, first_name    VARCHAR2 (100)

, hire_date     DATE

, salary        NUMBER

)

/

BEGIN

INSERT INTO plch_employees

VALUES (100

, 'Clooney'

, 'Sam'

, DATE '2011-12-07'

, 10000);

INSERT INTO plch_employees

VALUES (200

, 'Craig'

, 'Donna'

, DATE '2011-12-01'

, 15000);

INSERT INTO plch_employees

VALUES (300

, 'Mirren'

, 'Horace'

, DATE '2011-11-23'

, 17000);

COMMIT;

END;

/

员工在被录用的当月的最后一天被评估(即使这天是周六或周日!)。我写了一个过程来显示每个员工的姓和评估日期:

CREATE OR REPLACE PROCEDURE plch_show_evals

IS

BEGIN

FOR employee_rec IN (  SELECT last_name, hire_date

FROM plch_employees

ORDER BY hire_date)

LOOP

DBMS_OUTPUT.put_line (

employee_rec.last_name

|| ':'

|| TO_CHAR (

plch_last_date (employee_rec.hire_date)

, 'YYYY-MM-DD'));

END LOOP;

END;

/

哪些选项实现了函数,从而使得过程plch_show_evals在执行之后,将会显示下列文本?

Mirren:2011-11-30

Craig:2011-12-31

Clooney:2011-12-31

(A)

CREATE OR REPLACE FUNCTION plch_last_date (date_in IN DATE)

RETURN DATE

IS

BEGIN

RETURN TRUNC (ADD_MONTHS (date_in, 1), 'MON') - 1;

END;

(B)

CREATE OR REPLACE FUNCTION plch_last_date (date_in IN DATE)

RETURN DATE

IS

BEGIN

RETURN LAST_DATE (date_in);

END;

(C)

CREATE OR REPLACE FUNCTION plch_last_date (date_in IN DATE)

RETURN DATE

IS

BEGIN

RETURN LAST_DAY (date_in);

END;

(D)

CREATE OR REPLACE FUNCTION plch_last_date (date_in IN DATE)

RETURN DATE

IS

BEGIN

RETURN date_in.LAST_DAY;

END;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值