2016-05-17 3 views

ответ

0

Я предполагаю, что вы собираетесь сценарий запрашивать у пользователя значения по 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'); 

или любой другой формат, который вы хотите.

Также обратите внимание на :=, а не =

+0

Извиняюсь за неясен, но AAA_BBB ЯВЛЯЕТСЯ СТОЛ И TR_DATE IS COLUMN SO ПОКА бегаю ЭТО СЦЕНАРИЙ Я хочу искать ВНУТРИ диапазон дат ИЗ ТАБЛИЦЫ AAA_BBB –

+0

Да, понимал это. У вас есть несколько проблем с синтаксисом в PL/SQL, не считая предположений о форматах дат: 1) не окружайте ваши ссылки столбцов кавычками, как вы это делали, 2) в операторах присваивания PL/SQL используйте «: =», а не « знак равно –

+1

@kareemelwakil Посмотрите слева от ключа A. Должна быть кнопка с именем Caps Lock. Пожалуйста, отключите его. – ArtOfCode