Как это написать?Как написать этот запрос в PL/SQL?
DECLARE
STARTDATE DATE;
ENDDATE DATE;
BEGIN
STARTDATE='&&STRTDTE';
ENDDATE='&&ENDATE';
...
...
WHERE AAA_BBB.TR_DATE BETWEEN 'STARTDATE' AND 'ENDDATE';
Как это написать?Как написать этот запрос в PL/SQL?
DECLARE
STARTDATE DATE;
ENDDATE DATE;
BEGIN
STARTDATE='&&STRTDTE';
ENDDATE='&&ENDATE';
...
...
WHERE AAA_BBB.TR_DATE BETWEEN 'STARTDATE' AND 'ENDDATE';
Я предполагаю, что вы собираетесь сценарий запрашивать у пользователя значения по STRTDTE
и ENDATE
(почему «ООД» в одном и «ДАТА» в другой, кстати?).
Предполагая, что пользователь вводит обе даты в текущем формате по умолчанию, то все, что вам нужно изменить ваш где заявление:
WHERE AAA_BBB.TR_DATE BETWEEN STARTDATE AND ENDDATE;
Это может быть безопаснее, однако, не предположить, что нынешний формат , а на самом деле запрашивает дату в определенном формате, а затем хранить ответы, как даты, используя этот конкретный формат:
STARTDATE := TO_DATE('&&STRTDTE', 'YYYY/MM/DD');
ENDDATE := TO_DATE('&&ENDATE', 'YYYY/MM/DD');
или любой другой формат, который вы хотите.
Также обратите внимание на :=
, а не =
Извиняюсь за неясен, но AAA_BBB ЯВЛЯЕТСЯ СТОЛ И TR_DATE IS COLUMN SO ПОКА бегаю ЭТО СЦЕНАРИЙ Я хочу искать ВНУТРИ диапазон дат ИЗ ТАБЛИЦЫ AAA_BBB –
Да, понимал это. У вас есть несколько проблем с синтаксисом в PL/SQL, не считая предположений о форматах дат: 1) не окружайте ваши ссылки столбцов кавычками, как вы это делали, 2) в операторах присваивания PL/SQL используйте «: =», а не « знак равно –
@kareemelwakil Посмотрите слева от ключа A. Должна быть кнопка с именем Caps Lock. Пожалуйста, отключите его. – ArtOfCode