|
|
|
Получить список именнинников
|
|||
|---|---|---|---|
|
#18+
Есть табличка с полями FIO и D_Rozhd(дд.мм.гг). Нужен запрос выдающий по заданному периоду (например 25.07 - 05.08) список именнинников ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2004, 12:48:41 |
|
||
|
Получить список именнинников
|
|||
|---|---|---|---|
|
#18+
select * from ... where date1<=dateserial(year(date),month(D_Rozhd),day(D_Rozhd)) and dateserial(year(date),month(D_Rozhd),day(D_Rozhd))<=date2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2004, 12:53:00 |
|
||
|
Получить список именнинников
|
|||
|---|---|---|---|
|
#18+
Владимир Саныч, не работает чавой-то ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2004, 13:10:08 |
|
||
|
Получить список именнинников
|
|||
|---|---|---|---|
|
#18+
Z75Владимир Саныч, не работает чавой-то Типа, я должен покаяться, что дал неверное решение? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2004, 13:33:53 |
|
||
|
Получить список именнинников
|
|||
|---|---|---|---|
|
#18+
так, как не ответил на мой вопрос, я телепатирую, что тебя интересует решение в запросе: SELECT Tabl.Fio, Left([Tabl]![D_Rozhd],2) AS день, Left(Right([Tabl]![D_Rozhd],7),2) AS месяц FROM Tabl WHERE (((Left([Tabl]![D_Rozhd],2))>=Left([начальная дата периода],2)) AND ((Left(Right([Tabl]![D_Rozhd],7),2))>=Right([начальная дата периода],2) And (Left(Right([Tabl]![D_Rozhd],7),2))<=Right([конечная дата периода],2))) OR (((Left([Tabl]![D_Rozhd],2))<=Left([конечная дата периода],2)) AND ((Left(Right([Tabl]![D_Rozhd],7),2))>=Right([начальная дата периода],2) And (Left(Right([Tabl]![D_Rozhd],7),2))<=Right([конечная дата периода],2))) WITH OWNERACCESS OPTION; Что-то типа такого... Stepler (щёлк-щёлк!!) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2004, 14:51:55 |
|
||
|
Получить список именнинников
|
|||
|---|---|---|---|
|
#18+
Да не надо каяться, просто помощь получить хотелось, край как нужно Спасибо Stepler, щас попробую ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2004, 14:54:40 |
|
||
|
Получить список именнинников
|
|||
|---|---|---|---|
|
#18+
Z75Да не надо каяться, просто помощь получить хотелось, край как нужно А как я должен догадаться, что именно не работает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2004, 14:58:58 |
|
||
|
Получить список именнинников
|
|||
|---|---|---|---|
|
#18+
Stepler SELECT Tabl.Fio, Left([Tabl]![D_Rozhd],2) AS день, Left(Right([Tabl]![D_Rozhd],7),2) AS месяц FROM Tabl WHERE (((Left([Tabl]![D_Rozhd],2))>=Left([начальная дата периода],2)) AND ((Left(Right([Tabl]![D_Rozhd],7),2))>=Right([начальная дата периода],2) And (Left(Right([Tabl]![D_Rozhd],7),2))<=Right([конечная дата периода],2))) OR (((Left([Tabl]![D_Rozhd],2))<=Left([конечная дата периода],2)) AND ((Left(Right([Tabl]![D_Rozhd],7),2))>=Right([начальная дата периода],2) And (Left(Right([Tabl]![D_Rozhd],7),2))<=Right([конечная дата периода],2))) WITH OWNERACCESS OPTION; Как это ты берешь строковые функции от поля типа дата??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2004, 15:00:15 |
|
||
|
Получить список именнинников
|
|||
|---|---|---|---|
|
#18+
Владимир Санычselect * from ... where date1<=dateserial(year(date),month(D_Rozhd),day(D_Rozhd)) and dateserial(year(date),month(D_Rozhd),day(D_Rozhd))<=date2 Может date1 и date2 тоже через DateSerial прогнать? Для верности :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2004, 15:04:27 |
|
||
|
Получить список именнинников
|
|||
|---|---|---|---|
|
#18+
Саныч, я знал, я знал, что ты меня будешь критиковать... но, я надеюсь, этой критикой ты поможешь Z75 ... Насчет строковых - они же работают. А я не помню как в Аксе (в Экселе знаю) задавать числовой формат даты... Stepler (щёлк-щёлк!!) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2004, 15:04:35 |
|
||
|
Получить список именнинников
|
|||
|---|---|---|---|
|
#18+
paparomeМожет date1 и date2 тоже через DateSerial прогнать? Для верности :) Зачем? Я имел в виду, что они уже даты. Впрочем, может, у Z75 это и не так... SteplerСаныч, я знал, я знал, что ты меня будешь критиковать... но, я надеюсь, этой критикой ты поможешь Z75 ... Если он расскажет, что именно не работает. А не просто "твое решение дурацкое". SteplerНасчет строковых - они же работают. Работают с чем? Ты понимаешь, что они работают по-разному в зависимости от того, как Аксесс переводит дату в строку? А переводит он в соответствии с настройками. Поменял настройки - программа перестала работать. SteplerА я не помню как в Аксе (в Экселе знаю) задавать числовой формат даты... Что такое числовой формат? Переменная типа дата, что еще нужно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2004, 15:12:04 |
|
||
|
Получить список именнинников
|
|||
|---|---|---|---|
|
#18+
В Экселе 05/08/04 = 38204 (в числовом формате), не помню - в Аксе енто возможно ??? Stepler (щёлк-щёлк!!) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2004, 15:20:58 |
|
||
|
Получить список именнинников
|
|||
|---|---|---|---|
|
#18+
Спасиббы всем. Stepler все заработало только 5 вместо 7 поставил. Саныч, прошу прошения ежели задел чем, просто уже дошел до кондиции с заморочкой этой ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2004, 15:22:28 |
|
||
|
Получить список именнинников
|
|||
|---|---|---|---|
|
#18+
Z75Спасиббы всем. Stepler все заработало только 5 вместо 7 поставил. Саныч, прошу прошения ежели задел чем, просто уже дошел до кондиции с заморочкой этой Прочитай то, что я написал Степлеру. Эта программа перестанет работать, если поменять настройки Windows. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2004, 15:26:07 |
|
||
|
Получить список именнинников
|
|||
|---|---|---|---|
|
#18+
SteplerВ Экселе 05/08/04 = 38204 (в числовом формате), не помню - в Аксе енто возможно ??? В Аксессе так и есть. Дату можно использовать как число. Никакие функции для преобразования не нужны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2004, 15:33:15 |
|
||
|
Получить список именнинников
|
|||
|---|---|---|---|
|
#18+
А как тогда переводить из формата в формат? ( т.е. 05/08/04 в 38204 и обратно) Саныч, убей, плз, мой отдельный топик "Формат даты" - я думал ты мне уже по этому вопросу не ответишь и я решил его завести отдельной темой, верно поспешил... Stepler (щёлк-щёлк!!) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2004, 15:38:27 |
|
||
|
Получить список именнинников
|
|||
|---|---|---|---|
|
#18+
Что значит переводить из формата в формат? Что дано? Какого оно типа - дата или стринг? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2004, 15:41:29 |
|
||
|
Получить список именнинников
|
|||
|---|---|---|---|
|
#18+
Например, у меня в табл. датировано в виде 05/08/04 после запроса я хочу видеть как 38204 Что мне нужно сделать ??? Stepler (щёлк-щёлк!!) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2004, 15:43:32 |
|
||
|
Получить список именнинников
|
|||
|---|---|---|---|
|
#18+
Еще раз спрашиваю: какого оно типа? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2004, 15:45:23 |
|
||
|
Получить список именнинников
|
|||
|---|---|---|---|
|
#18+
Тогда см. мой ответ от 15:33. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2004, 15:50:48 |
|
||
|
Получить список именнинников
|
|||
|---|---|---|---|
|
#18+
Эт снова я. Вобщем не все так хорошо. Сравнение то идет строчных переменных потому по запросу например: 01.01 - 01.02 найдутся не только все январьские, но я февральские. Вечный вопрос: Что делать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2004, 16:08:41 |
|
||
|
Получить список именнинников
|
|||
|---|---|---|---|
|
#18+
Туплю-туплю-туплю (хотя исчо не пятница) у меня в формате "дата" в таблице столбца "Datt(g)" значения типа 05/08/04. Запросом хочу сделать отбор дат между 36888 и 38011 Что мне для ентого нуна сделать?? Кстати 1 = 01.01.1900 (воскресенье), а вот 0= 00.01.1900 (суббота) - как это ??? Stepler (щёлк-щёлк!!) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2004, 16:14:07 |
|
||
|
Получить список именнинников
|
|||
|---|---|---|---|
|
#18+
Z75Эт снова я. Вобщем не все так хорошо. Сравнение то идет строчных переменных потому по запросу например: 01.01 - 01.02 найдутся не только все январьские, но я февральские. Вечный вопрос: Что делать? Я в примере, наверное не доконца прогнал условия отбора (логики)... Вообще, послушайся Саныча - прими его версию, моя-то быстрее "шаманская". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2004, 16:17:29 |
|
||
|
Получить список именнинников
|
|||
|---|---|---|---|
|
#18+
Кароче Для степлера: Есть функция CLng - если уж так охота из даты получить число и вывести его на печать или использовать в динамическом создании строк 2 Саныч: Я понял, что переменные уже типа дата Я хотел сказать, что у нас нет уверенности что эти перетенные содержат данные текущего года, т.е. там год точно тот? + Что-то еще не встал вопрос, тоды я поставлю :) А что делать если нажен список людей с датами рождения (ну напрмер: с 15 декабря по 15 января)? Так сказать в момент перехода года? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2004, 16:21:33 |
|
||
|
Получить список именнинников
|
|||
|---|---|---|---|
|
#18+
Steplerу меня в формате "дата" в таблице столбца "Datt(g)" значения типа 05/08/04. Запросом хочу сделать отбор дат между 36888 и 38011 Что мне для ентого нуна сделать?? where твоеполе between 36888 and 38011 SteplerКстати 1 = 01.01.1900 (воскресенье), а вот 0= 00.01.1900 (суббота) - как это ??? 00.01.1900 - это 31.12.1899. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2004, 16:23:49 |
|
||
|
Получить список именнинников
|
|||
|---|---|---|---|
|
#18+
paparomeЯ понял, что переменные уже типа дата Я хотел сказать, что у нас нет уверенности что эти перетенные содержат данные текущего года, т.е. там год точно тот? Угу. Дошло, согласен. paparomeА что делать если нажен список людей с датами рождения (ну напрмер: с 15 декабря по 15 января)? Так сказать в момент перехода года? Тогда вместо and пишем or. :^) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2004, 16:27:21 |
|
||
|
Получить список именнинников
|
|||
|---|---|---|---|
|
#18+
Владимир Саныч Никакие функции для преобразования не нужны . paparomeКароче Для степлера: Есть функция CLng ... paparome - спасибо, сделал - работает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2004, 16:28:05 |
|
||
|
Получить список именнинников
|
|||
|---|---|---|---|
|
#18+
Без CLng тоже должно. На что спорим? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2004, 16:29:59 |
|
||
|
Получить список именнинников
|
|||
|---|---|---|---|
|
#18+
SteplerКстати 1 = 01.01.1900 (воскресенье), а вот 0= 00.01.1900 (суббота) - как это ??? 00.01.1900 - это 31.12.1899.[/quot] У меня ПК выдает 00.01.1900 !!!! а Все рарьше воспринимает как текст... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2004, 16:35:21 |
|
||
|
Получить список именнинников
|
|||
|---|---|---|---|
|
#18+
Владимир СанычБез CLng тоже должно. На что спорим? Саныч, я не знаю- могет настройки , но у меня не работает... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2004, 16:36:41 |
|
||
|
Получить список именнинников
|
|||
|---|---|---|---|
|
#18+
Владимир СанычБез CLng тоже должно. На что спорим? Саныч - не надо Если динамически прикручивать даты к запросу, то просто так работать не будет (да что я тебе объясняю - ты и сам в курсе ) Код: plaintext Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2004, 16:46:00 |
|
||
|
Получить список именнинников
|
|||
|---|---|---|---|
|
#18+
paparomeА что делать если нажен список людей с датами рождения (ну напрмер: с 15 декабря по 15 января)? Так сказать в момент перехода года? select * from ... where (date1<=dateserial(year(date1),month(D_Rozhd),day(D_Rozhd)) and dateserial(year(date1),month(D_Rozhd),day(D_Rozhd))<=date2) or (date1<=dateserial(year(date2),month(D_Rozhd),day(D_Rozhd)) and dateserial(year(date2),month(D_Rozhd),day(D_Rozhd))<=date2) or ((year(date1)+1)<year(date2)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2004, 16:54:35 |
|
||
|
Получить список именнинников
|
|||
|---|---|---|---|
|
#18+
или, соответственно: select * from ... where (dateserial(year(date1),month(D_Rozhd),day(D_Rozhd)) between date1 and date2) or (dateserial(year(date2),month(D_Rozhd),day(D_Rozhd)) between date1 and date2) or ((year(date1)+1)<year(date2)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2004, 16:56:22 |
|
||
|
Получить список именнинников
|
|||
|---|---|---|---|
|
#18+
2 Geo СУПЕР ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2004, 16:56:48 |
|
||
|
Получить список именнинников
|
|||
|---|---|---|---|
|
#18+
To Geo А в каком формате date1, date2 задавать. У меня в D_Rozhd например 01.01.80? Как мне их задать 04.01.01 или 040101 или еще как? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2004, 17:11:19 |
|
||
|
Получить список именнинников
|
|||
|---|---|---|---|
|
#18+
Я проспорил про CLng. :^) Но про Left - им все равно пользоваться низя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2004, 17:22:14 |
|
||
|
Получить список именнинников
|
|||
|---|---|---|---|
|
#18+
2 Z75 В формате даты. D_Rozhd - это поле типа дата? Так и оставь его имя как есть, не преобразовывай ничего. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2004, 17:40:52 |
|
||
|
Получить список именнинников
|
|||
|---|---|---|---|
|
#18+
Можете меня распнуть, но я так и не догнал как задать date1 и date2? дд.мм.гг или ддммгг или гг.мм.дд. или как? Подмогните, плз ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2004, 08:34:44 |
|
||
|
Получить список именнинников
|
|||
|---|---|---|---|
|
#18+
Z75Можете меня распнуть, но я так и не догнал как задать date1 и date2? дд.мм.гг или ддммгг или гг.мм.дд. или как? Подмогните, плз Например, так: в модуле Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. в запросе вместо date1/Date2 писать GetDate1()/GetDate2() Перед выполнением запроса заполнить переменные нужными значениями. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2004, 09:01:14 |
|
||
|
Получить список именнинников
|
|||
|---|---|---|---|
|
#18+
Спасибо, GEO. Заработало! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2004, 09:16:07 |
|
||
|
Получить список именнинников
|
|||
|---|---|---|---|
|
#18+
Geoили, соответственно: select * from ... where (dateserial(year(date1),month(D_Rozhd),day(D_Rozhd)) between date1 and date2) or (dateserial(year(date2),month(D_Rozhd),day(D_Rozhd)) between date1 and date2) or ((year(date1)+1)<year(date2)) Попробовал... И не понял, что значение месяца - несущественно ??? В таком виде определяет только дату дня, а не месяца... Могет я и не прав, но у меня вот в таком виде "проходит": SELECT tabl.D_Rozhd, tabl.Fio FROM tabl WHERE (((CLng(DateAdd("yyyy",Format(Date(),"yyyy")-Format(tabl!D_Rozhd,"yyyy"),tabl!D_Rozhd)-37987))>=CLng(DateAdd("yyyy",Format(Date(),"yyyy")-Format([начало],"yyyy"),[начало])-37987) And (CLng(DateAdd("yyyy",Format(Date(),"yyyy")-Format(tabl!D_Rozhd,"yyyy"),tabl!D_Rozhd)-37987))<=CLng(DateAdd("yyyy",Format(Date(),"yyyy")-Format([конец],"yyyy"),[конец])-37987))) WITH OWNERACCESS OPTION; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2004, 11:57:21 |
|
||
|
Получить список именнинников
|
|||
|---|---|---|---|
|
#18+
Оригинально... Вариант ВС, усложненный до неузнаваемости. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2004, 12:11:32 |
|
||
|
Получить список именнинников
|
|||
|---|---|---|---|
|
#18+
Z75Можете меня распнуть, но я так и не догнал как задать date1 и date2? дд.мм.гг или ддммгг или гг.мм.дд. или как? Подмогните, плз Не распнуть, а распять. Или расшесть. Их нельзя задавать ни так, ни так. Потому что это все варианты для типа String. А надо задавать как тип Date. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2004, 13:02:37 |
|
||
|
Получить список именнинников
|
|||
|---|---|---|---|
|
#18+
Geoили, соответственно: select * from ... where (dateserial(year(date1),month(D_Rozhd),day(D_Rozhd)) between date1 and date2) or (dateserial(year(date2),month(D_Rozhd),day(D_Rozhd)) between date1 and date2) or ((year(date1)+1)<year(date2)) было - значит было. вот зачам тут ((year(date1)+1)<year(date2)) пока не понял. на нулл тоже неплохо бы проверять. Ну, а "мой" вариант превращается в ( ([Дата рождения] Is Not Null) And DateAdd('yyyy',Round(DateDiff('m',[Дата рождения],[tdate])/12,0) ,[D_Rozhd]) between [StartDate] AND [LastDate]) ) :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2004, 22:58:47 |
|
||
|
Получить список именнинников
|
|||
|---|---|---|---|
|
#18+
да. глупость моя неистощима... виноватс... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2004, 23:02:18 |
|
||
|
Получить список именнинников
|
|||
|---|---|---|---|
|
#18+
типа - вот это я сказать собирался... Код: plaintext 1. 2. 3. (с выражением лица) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2004, 23:13:09 |
|
||
|
Получить список именнинников
|
|||
|---|---|---|---|
|
#18+
еще раз про глупость. У предложенного мной варианта "глубина проницания" (разность между границами интервала) - полгода. Дальше не работает. исправления: Код: plaintext 1. 2. 3. 4. 5. 6. 7. или эквивалентное Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. по существу неотличимы от варианта Geo, а потому - неинтересны. так што - я ушпокоилси... (с выражением лица) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2004, 01:45:08 |
|
||
|
Получить список именнинников
|
|||
|---|---|---|---|
|
#18+
в предыдущем посте второй вариант назван неверно - он не "эквивалентый", а не рабочий... из прочих "эквивалентных перезаписей" глаз пока остановился вот на такой (дружит с Null-ом в значениях полей) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. первое условие, при заказе интервала больше года, просто не допустит вычисления оставшейся части и выдаст все записи. Оставшаяся часть сработает на глубине в год. Правая сторона внутреннего OR сработает при заказе интервала с переходом через год, для дней, попадающих в "новый" год. (с выражением лица) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2004, 05:32:19 |
|
||
|
Получить список именнинников
|
|||
|---|---|---|---|
|
#18+
Уж очень хотелось получить вариант, по возможности, переносимый под SQL Server с минимальным количеством переделок. Получилось вот что Заводится вспомогательная таблица с целыми числами от -366 до +366 пусть таблица DayNums, поле - NumDay Запрос на выдачу списка дней рождений в заказанном диапазоне превращается в такой Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. (с выражением лица) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2004, 20:01:26 |
|
||
|
Получить список именнинников
|
|||
|---|---|---|---|
|
#18+
А если вот так: PARAMETERS [начальная дата] DateTime, [конечная дата] DateTime; SELECT surname & ' ' & firstname AS ФИО, DateSerial(Year( [начальная дата]),Month(datebirth),Day(datebirth)) AS ДеньРождения, Main.DateBirth, [начальная дата], [конечная дата] FROM Staff WHERE datebirth is not null and DateSerial(Year( [начальная дата]),Month(datebirth),Day(datebirth)) between[начальная дата] and [конечная дата] UNION SELECT surname & ' ' & firstname AS ФИО, DateSerial(Year( [конечная дата]),Month(datebirth),Day(datebirth)) AS ДеньРождения, Main.DateBirth, [начальная дата], [конечная дата] FROM Staff WHERE datebirth is not null and DateSerial(Year( [конечная дата]),Month(datebirth),Day(datebirth)) between [начальная дата] and [конечная дата] ORDER BY ДеньРождения, ФИО; Для особо вьедливых можно добавить условие, чтобы DateSerial(Year( [начальная дата]),Month(datebirth),Day(datebirth)) и DateSerial(Year( [конечная дата]),Month(datebirth),Day(datebirth)) не были бы меньше DateBirth. -- Regards Alexander Artamonov Posted via ActualForum NNTP Server 1.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2004, 15:41:24 |
|
||
|
Получить список именнинников
|
|||
|---|---|---|---|
|
#18+
это преобразуется к SELECT ... FROM ... WHERE datebirth is not null and DateSerial(Year( [начальная дата]),Month(datebirth),Day(datebirth)) between[начальная дата] and [конечная дата] OR WHERE datebirth is not null and DateSerial(Year( [конечная дата]),Month(datebirth),Day(datebirth)) between [начальная дата] and [конечная дата] ... , что почти = select * from ... where (dateserial(year(date1),month(D_Rozhd),day(D_Rozhd)) between date1 and date2) or (dateserial(year(date2),month(D_Rozhd),day(D_Rozhd)) between date1 and date2) or ((year(date1)+1)<year(date2)) Работать будет, и правильно. По скорости ничего не могу сказать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2004, 16:56:32 |
|
||
|
Получить список именнинников
|
|||
|---|---|---|---|
|
#18+
кстати, о преобразовании уже сказал Ривкин Дмитрий в соседнем топике. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2004, 16:57:10 |
|
||
|
|

start [/forum/topic.php?all=1&fid=45&tid=1670367]: |
0ms |
get settings: |
6ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
141ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
104ms |
get tp. blocked users: |
2ms |
| others: | 200ms |
| total: | 490ms |

| 0 / 0 |
