Загрузите текущую дату в переменную

#sql #oracle #oracle-sqldeveloper

Вопрос:

Как я могу загрузить сегодняшнюю дату в переменную для использования в WHERE предложении. Я перепробовал несколько комбинаций, но не смог заставить нижеприведенное работать.

variable v_today DATE;

SELECT SYSDATE INTO v_today FROM DUAL;

ОШИБКА: ORA-00905: отсутствует ключевое слово

Заранее спасибо.

Комментарии:

1. SQL не поддерживает переменные, вам нужно использовать PL/SQL или проверить, поддерживает ли разработчик Oracle SQL какую-либо замену текста

2. Почему ты не пользуешься where your_field {comparison operator} sysdate ?

3. @a_horse_with_no_name — Что ты имеешь в виду? Возможно, переменные привязки не упоминаются в стандарте SQL, но они поддерживаются Oracle (единственный диалект, с которым я знаком) и, вероятно, многими другими. Очевидно, оперативная группа это знает. Проблема в том, что SQ*Plus не поддерживает date тип данных для переменных привязки (хотя Oracle SQL поддерживает!)

4. что вы хотите сделать с этими данными после ?

5. Ответ зависит от того, что вы используете в качестве интерфейса. Эта variable команда является командой SQL*Plus (поддерживается также другими интерфейсами, например разработчиком SQL). SQL*Plus не поддерживает date тип данных для переменных привязки, что означает, что первая команда уже должна была завершиться ошибкой с другим сообщением. Итак, какой интерфейс вы используете и как вы пытались выполнить эти команды (чтобы получить ошибку, которую вы получили)?