Простейший вопрос про даты

idencial

Одинаковый
Простейший вопрос про даты

Надо выбрать записи, позже такой-то даты (например начавшихся не раньше 1 июля 1990 года).
Oracle у меня 4 под винду, увидел я его в первый раз сегодня и мануала нет.
Пишу

select * from tablename where start_date >= '01-JUL-90';

Нихрена не выдает.
start_date - date, т.е select * from tablename выдает именно в таком формате 01-JUL-90
Почему такой формат даты я не знаю, т.к мануала под рукой нет.
После Mysql выглядит конечно странновато =( (а может слишком древняя версия)

В общем подскажите как выбрать записи, позже такой-то даты (например начавшихся не раньше 1 июля 1990 года).
 

redic

Guest
попробуй что то типа
select * from tablename where start_date >= TO_DATE('01-JUL-90','dd-mon-yy')
 

idencial

Одинаковый
Попробовал, но к сожалению все равно no records selected =(

Может у кого-нибудь еще есть идеи?
 

trent

Developer
попробуй так:
select * from tablename where start_date between to_date('01.01.0001', 'DD.MM.YYYY') and to_date('20.11.2002', 'DD.MM.YYYY');
 

idencial

Одинаковый
Спасибо помогло.

Зы. Неужели у Oracle такие заморочки с датами или это особеность моей древней версии?
 

fisher

накатила суть
это не заморочки, это просто куча дополнительных возможностей к форматированию, к которым нужно привыкнуть. один из наиболее простых способов проверить, правильно ли ты используешь конвертацию даты, это что-нибудь типа
select to_char(to_date([date],[format]),[format]) from dual
все вопросы будут сняты

кстати, месяц вообще лучше всегда числовой, т.к. в зависимости от настроек может оказаться, что надо не JAN а ИЮЛ ;)

удачи
 
Сверху