2013-12-09 3 views
0

Я использую Oracle SQL Developer.Динамический SQL-запрос To_Date Формат Oracle

Мой репетитор попросил нас включить динамические запросы в наш оператор SQL.

Часть моего запроса заключается в следующем:

where booking.date_event != to_date('20140309','yyyymmdd') and booking.occassion_id=2 

Я изменил запрос на один шаг за один раз, чтобы включить динамический аспект. Итак, теперь это выглядит так:

where booking.date_event != to_date('20140309','yyyymmdd') and booking.occassion_id='&occassion_id' 

Это дает мне всплывающее окно для правильного ввода идентификатора, и оно работает правильно.

Однако, теперь я хочу сделать то же самое для даты. Но, очевидно, ввод даты в формате «yyyymmdd» не очень удобен для пользователя.

Как я могу изменить свой запрос, чтобы либо разрешить различные типы формата даты, либо добавить сообщение во всплывающее окно, чтобы сообщить пользователю использовать правильный формат? В настоящий момент всплывающее окно говорит только «Date_Event» и поле ввода.

+0

Уверена, что это ваш репетитор? Похоже, что вы можете вводить в заблуждение динамический SQL с встроенной заменой переменных переменных SQL Developer. – Drumbeg

+0

Я, вполне возможно, есть. После Googling вокруг я вижу, что Dynamic SQL ссылается на что-то другое. Однако, я думаю, он просто использовался как простой способ объяснить, чем она была. Я думаю, она, возможно, назвала его «интерактивным запросом». –

+0

Если вопрос заключается в том, как принять дату в другом формате, используйте то, что вы хотите, в to_date(). Например to_date ('31 -12-2014 ',' dd-mm-yyyy ') или to_date ('31 .12.14', 'dd.mm.yy'), просто прочитайте to_date docs. Вы можете попробовать сделать несколько сразу, но это должно быть сделано на стороне аппликации, а не в базе данных в целом. – Elhana

ответ

0

SQL Developer не инструмент для пользователей. Поэтому вам не нужно беспокоиться о том, что формат «20140309» не является удобным для пользователя. Для реальных пользователей вы должны написать реальное приложение, которое принимает дату (например, всплывающее окно календаря) и отправляет ее в базу данных в соответствующем формате.

Однако, чтобы иметь это немного более удобно в SQL Developer, вы можете использовать to_date без форматирования. Установив среду и базу данных в один и тот же язык, вы можете просто ввести дату в формате, к которому вы привыкли (например, 9.3.13 или 09.03.2013 или 9 марта 2013 г.), и все должно работать.

Смежные вопросы