![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
запрос ? :(
9899100 © (2007-10-11 14:38:00)Подскажите, мастера!!!! есть таблица с полем dates типа Date
как написать SQL запрос чтобы в результате получить все записи например за второй месяц, без разницы за какой год???
например чтобы ы результирующей выборке было
иванов иван иванович 02.02.2004
петров петр петрович 06.02.1998
ххх ххххх ххххххх 12.02.2000
9899100 (2007-10-11 16:17:00) [1]
> Sergey13 © (11.10.07 16:14) [16]
гыыы, тада понятно :)
Sergey13 (2007-10-11 16:14:00) [2]> [13] 9899100 (11.10.07 16:03)
> гдеж ты раньше был :)
У нас сегодня фирме 8 лет. 8-)
9899100 (2007-10-11 16:13:00) [3]да мне до 16.00 надо было сдать работу :)
так что.... ужо поздно
;) позор так позор , главное работает и довольно шустро ;)
evvcom (2007-10-11 16:05:00) [4]
> тада на будущее что мона и так сделать
какой на будущее? Быстро переделывай свой позор на как надо!
9899100 (2007-10-11 16:03:00) [5]
> Sergey13 © (11.10.07 15:24) [12]
гдеж ты раньше был :)
лана бум знать тада на будущее что мона и так сделать
Sergey13 (2007-10-11 15:24:00) [6]> [9] evvcom © (11.10.07 15:00)
> ИМХО, where extract(month from dates) = 2 быстрее будет
Может быть.
> [10] 9899100 (11.10.07 15:07)
where extract(month from dates) = 2
работает и в птичке.
evvcom (2007-10-11 15:09:00) [7]ну ты крутой программер! :-)
9899100 (2007-10-11 15:07:00) [8]я всетаки сделал по другому :(
добавил в таблицу три поля куда програмкой перекинул год, месяц, число
и тогда выбор получается оччень просто....
но это конечно тупо.... но зато действенно
evvcom (2007-10-11 15:00:00) [9]
> 9899100 (11.10.07 14:47) [3]
> в оракле работает like
> where t.dates like '%.02.%'
> выбирает как надо
до поры до времени как надо, а как-нибудь бац и будет не как надо. А все это от непонимания того, что локали могут быть перенастроены.
> Sergey13 © (11.10.07 14:47) [4]
> select * from table where to_char(dates,'mm')='02'
ИМХО,where extract(month from dates) = 2быстрее будет. Здесь отсутствует конвертирование числа в varchar и сравнение number-ов идет быстрее чем строк.
9899100 (2007-10-11 14:59:00) [10]получается тока самы примитивный и тупой вариант
where (t.dates>='01.02.1995') and (t.dates<'01.03.1995')
or
(t.dates>='01.02.1996') and (t.dates<'01.03.1996')
or
(t.dates>='01.02.1997') and (t.dates<'01.03.1997')
or
(t.dates>='01.02.1998') and (t.dates<'01.03.1998')
or
........
or
(t.dates>='01.02.2007') and (t.dates<'01.03.2007')
9899100 (2007-10-11 14:56:00) [11]мастера ну подскажите плииз, ломаю голову с утра :(
уже все сигареты выкурил :)
непомогает
9899100 (2007-10-11 14:53:00) [12]month не пашеть :(
Ega23 (2007-10-11 14:49:00) [13]
> субд firebird
Ох, не помню я так FB навскидку, дома смотреть надо...
Ищи что-нибудь типа DatePart или Month
Выглядит как-то так:
Select * from ... where Month(dates)=2
Sergey13 (2007-10-11 14:47:00) [14]Для Оракла
select * from table where to_char(dates,'mm')='02'
> ххх ххххх ххххххх 12.02.2000
Интересно как человека назвали. 8-)
9899100 (2007-10-11 14:47:00) [15]в оракле работает like
where t.dates like '%.02.%'
выбирает как надо
а вот в птичке не хочет :(
9899100 (2007-10-11 14:46:00) [16]:) ну лана :)
субд firebird
использую компоненты IBSQL Delphi7
Ega23 (2007-10-11 14:41:00) [17]Конечно же все СУБД используют исключительно одинаковый набор функций и все запросы пишутся исключительно в ANSI-SQL