如何在PL / SQL中编写此查询?

时间:2016-05-17 15:12:07

标签: plsql plsqldeveloper

我该怎么写?

DECLARE 
STARTDATE DATE;
ENDDATE DATE;

BEGIN
STARTDATE='&&STRTDTE';
ENDDATE='&&ENDATE';
...
...
WHERE AAA_BBB.TR_DATE BETWEEN 'STARTDATE' AND 'ENDDATE';

1 个答案:

答案 0 :(得分:0)

我猜你打算让脚本提示用户STRTDTEENDATE值(为什么“DTE”在一个,“DATE”在另一个,btw?)。 / p>

假设用户以当前默认格式输入两个日期,那么您只需更改where语句:

WHERE AAA_BBB.TR_DATE BETWEEN STARTDATE AND ENDDATE;

然而,可能更安全的是不假设当前格式是什么,并且实际以特定格式提示日期,然后使用该特定格式将响应存储为日期:

STARTDATE := TO_DATE( '&&STRTDTE', 'YYYY/MM/DD' );
ENDDATE := TO_DATE( '&&ENDATE', 'YYYY/MM/DD' );

或您希望的任何格式。

另请注意:=而不是=