Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Проблема с датой / 7 сообщений из 7, страница 1 из 1
12.08.2005, 10:06
    #33212145
JulT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с датой
Есть табличка 1 в базе,в ней хряняться заявки и даты поступления для каждой заявки,эти даты имеют вид: 04.04.2005 16:43:00.
Есть другая табличка 2,в ней храниться дипазаон дат,этот диапазон я использую,чтобы выбрать из таблички 1 только те даты,которые входят в этот диапазон.Этот диапазон выглядит так: от 01.04.2005 до 07.04.2005, т.е. без секунд.
Далее я делаю запрос:

Код: plaintext
select data from zajavki WHERE convert(char( 8 ),data, 112 )>=? and convert(char( 8 ),data, 112 )<=?+ 1   order by data"
?-параметр
Вообщем в конечном итоге он выводит мне даты лежащие между 01.04.2005 и 07.04.2005,но только в самом конце вылазит одна вот такая запись: 08.04.2005 16:05:00. ПОЧЕМУ????Ведь она не влазит в диапазон.
Я уже замучалась,2 дня борюсь с моим братом с этой проблемой,помогите.
Спасибо.
...
Рейтинг: 0 / 0
12.08.2005, 10:37
    #33212254
ТимоН
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с датой
Какая СУБД? Какойто у вас запрос некрасивый, я б так сделал
Код: plaintext
1.
2.
select * from table where
extract(date from datefield) between :param1 and :param2
...
Рейтинг: 0 / 0
12.08.2005, 10:57
    #33212315
Я
Я
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с датой
А почему бы не опубликовать ваш вопрос на форуме соответствующей СУБД.
Думаю там быстрее ответят.
...
Рейтинг: 0 / 0
12.08.2005, 11:03
    #33212338
Timm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с датой
Не понял для чего нужен "+1" здесь
Код: plaintext
convert(char( 8 ),data, 112 )<=?+ 1 

// и что такое convert? а 112 откуда и для чего?
...
Рейтинг: 0 / 0
12.08.2005, 11:15
    #33212365
ТимоН
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с датой
Скорее всего ошибка именно тут
Код: plaintext
convert(char( 8 ),data, 112 )<=?+ 1 
если парметр типа date то 12.08.2005+1=13.08.2005
...
Рейтинг: 0 / 0
12.08.2005, 12:38
    #33212714
JulT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с датой
ответили на другом форуме,вот так надо было:
Код: plaintext
1.
2.
3.
select data from zajavki WHERE convert(datetime,convert(varchar( 20 ),data, 103 ), 103 )
between '1 apr 2004' and '7 apr 2005'

...
Рейтинг: 0 / 0
12.08.2005, 12:58
    #33212787
ТимоН
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с датой
А мой первый ответ вас неустроил :)
Удачи.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Проблема с датой / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]