Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Работа с датой [D7, XP]


Страницы:   1 2

deras ©   (2008-09-10 18:42:00) 

В базе (ФБ) есть таблица T с полями NAME - имя  и BORN - дата рождения.
Можно ли запросом выбрать всех, у кого сегодня день рождения?


Anatoly Podgoretsky   (2008-09-12 00:04:00) [1]

Сам в дальнейшем будешь пинать другим, но для этого надо пройти весь путь, то есть лично получить по шее.
Никто не учится на чужих ошибка, все предпочитают учиться на своих, но некоторые всю жизнь ходят по одним и тем же граблям.


Сергей М.   (2008-09-11 22:49:00) [2]


> Можно ли запросом выбрать всех, у кого сегодня день рождения?



> Sergey Masloff   (10.09.08 18:51) [2]
> не против...



> Anatoly Podgoretsky ©   (10.09.08 19:49) [4]
> Можно



> deras   (10.09.08 20:23) [5]
> Все прикольно


Детство, играющее в "очке", - признак грядущей мудрости)


deras   (2008-09-11 22:05:00) [3]

Хочу поблагодарить всех за ответы. ПОлучиласть интересная дискуссия, из которой я сделал выводы...

Персонально Вам

> Anatoly Podgoretsky ©   (11.09.08 16:56) [26]

спасибо за ссылку - интересно и поучительно


Anatoly Podgoretsky   (2008-09-11 16:56:00) [4]

> deras  (11.09.2008 12:44:21)  [21]

http://www.podgoretsky.com/Redir.aspx?id=213&DownloadFile=~/ddp/howtoask.aspx


Anatoly Podgoretsky   (2008-09-11 16:54:00) [5]

> deras  (11.09.2008 12:13:19)  [19]

Ну так ты и получил полный ответ на твой вопром, максимадльно точный, народу много ответило.


Anatoly Podgoretsky   (2008-09-11 16:53:00) [6]


> Вы ж, как разумный человек

В том то и дело, но я к тому же и вежливый, не пытаюсь говорить о том, о чем не спрашивали.
Задал бы вопрос, не можно, а как, то получил бы ответ, тем более, что задача решаема, вот если захочешь предупреждать не в день рождения, а скажем за пару недель до, вот там проблематично.


Ega23   (2008-09-11 16:52:00) [7]


> Забавно, но сыр-бор не поднялся бы, если в сабже вместо
> "Можно ли" было слово "Как"


С вероятностью 80% - да.


MsGuns   (2008-09-11 16:42:00) [8]

Забавно, но сыр-бор не поднялся бы, если в сабже вместо "Можно ли" было слово "Как"

Велик могучим русский языка ;)))


deras   (2008-09-11 12:44:00) [9]


> Ega23 ©   (11.09.08 12:31) [20]


Достойный ответ! Тут нечего сказать, кроме благодарности. Я обязательно прислушаюсь к Вашим советам. Спасибо!


Ega23   (2008-09-11 12:31:00) [10]


> Стыдно?... Хм... А от чего мне должно быть стыдно?  От того,
>  что я знаю меньше чем Вы? Абсолютно НЕТ!


Я не конкретно про тебя, я вообще. Если ты внимательно будешь читать каждый день конфу "Начинающим" (в течении года, например), то ты наберёшь большую статистику. Раз в 2 недели будет встречаться вопрос "Как мне в ДБГрид засунуть данные", "Мерцание формы при перерисовке" и т.п.Процентов 5 вопросов будут вообще дебильными (образцы - в Орешнике).
Также очень много вопросов, которые вполне достойны именно "начинающих" (вполне нормальные вопросы), но которые заданы просто безобразно. Это, кстати, и твоего вопроса касается. Мог бы чуть-чуть подумать и задать его так:
"В базе (ФБ) есть таблица T с полями NAME - имя  и BORN - дата рождения.
Нужно одним запросом выбрать всех, у кого сегодня день рождения. Есть ли возможность вытащить день и месяц из поля BORN?"

И, поверь, отношение к вопросу было бы гораздо серьёзнее: человек понимает, чтоему требуется сделать, но не знает как. Точнее, не знает функцию.

Когда-то очень-очень давно, году в 99, когда я только месяц как Delphi осваивал, надо было мне проверить существование файла. И вопрос был задан (не на этом форуме): "Надо проверить существование конкретного файла. Подозреваю, что есть такая функция, но не знаю её названия." Ответ был "FileExists + F1".

Так что обижаться тут не стоит. Просто в следующий раз, когда будешь задавать вопрос, подумай, как не выглядеть человеком, достойным "песочницы". А для этого нужно всего-то ничего: сначала подумать, поискать в хелпе, внятно изложить вопрос на экране, перечитать, что ты изложил, представить себя на месте читающего вопрос (всё ли понятно), и только после этого постить.

У меня за последние года 3-4 так 90% моих вопросов отсеивались. Начнёшь внятно излагать, пока писал - нашёл решение, залез в хелп, проверил - вроде оно, Написал тест - внатуре работает. Вопрос отпал сам собой.


deras   (2008-09-11 12:13:00) [11]


> Ega23 ©   (11.09.08 10:32) [14]


Стыдно?... Хм... А от чего мне должно быть стыдно?  От того, что я знаю меньше чем Вы? Абсолютно НЕТ!  Вот Вам стыдно, что Вы знаете меньше, чем какой-то там супер-пупер программер из Борланда? Думаю - нет. Вот и мне тоже нечего стыдится, задавая простые "песочниковские" вопросы.


Vlad Oshin   (2008-09-11 11:16:00) [12]


> "У кого сегодня ДР"  <>   "Кто родился сегодня"

логично,

> метод для штампа тот же - extract


Ega23   (2008-09-11 10:58:00) [13]


> Vlad Oshin ©   (11.09.08 10:48) [15]


"У кого сегодня ДР"  <>   "Кто родился сегодня"


Правильный$Вася   (2008-09-11 10:54:00) [14]


> Vlad Oshin ©   (11.09.08 10:48) [15]

на случай "сегодня" - их еще даже зарегистрировать не успели
так что метод для штампа тот же - extract


Vlad Oshin   (2008-09-11 10:48:00) [15]

на случай штампа

select
 NAME
from
 T
where
 BORN > сегодня в 0:00:00
 and  BORN < сегодня в 23:59:59


Ega23   (2008-09-11 10:32:00) [16]


> Тогда, в принципе, можно каждому задающему вопрос сказать
> "это ж базовые знания! иди учи матчасть!" Так получается?


Нет конфы "Песочница". К сожалению. Процентов 40 вопросов отсюда следовало бы туда перенести. В первую очередь, чтобы задающему становилось стыдно.


deras   (2008-09-11 10:19:00) [17]


> Sergey Masloff   (10.09.08 23:12) [10]

Еще раз благодарю! Теперь я знаю, о чем читать...


> Anatoly Podgoretsky ©   (10.09.08 23:49) [11]

Вы ж, как разумный человек, не можете думать, что ответ
Anatoly Podgoretsky ©   (10.09.08 19:49) [4]
может удовлетворить кого-либо. Даже если я некорректно задал вопрос.....
Но даже за этот ответ - спасибо.


> Германн ©   (11.09.08 01:40) [12]

Тут Вы правы... Но ветка форума-то "для начинающих"... Тогда, в принципе, можно каждому задающему вопрос сказать "это ж базовые знания! иди учи матчасть!" Так получается?


Германн   (2008-09-11 01:40:00) [18]


> Я не прошу оценивать мои знания и личностные качества.

Оценки делаются независимо от личных просьб участников форума. И каждый участник форума должен быть готов к тому, что его "знания и личностные качества" получат независимую оценку от других участников форума.


Anatoly Podgoretsky   (2008-09-10 23:49:00) [19]

> deras  (10.09.2008 23:01:09)  [9]

Ты прав насчет оценки, но ты не просил советы, ты хотел узнать можно или нет и ты уже давно получил ответ, даже несколько, а сейчас ты просто трепешься, поскольку ничего нового к твоему вопросу добавить нельзя, только повторить, что можно. Кроме того ты явно не хочешь читать документацию, в которой четко написано как получить день и месяц их даты.


Sergey Masloff   (2008-09-10 23:12:00) [20]

deras   (10.09.08 23:01) [9]
Да точно я затормозил. Есть чудо-функция extract которая выделяет из дат составляющие.

типа select ...
from...
where cast(extract(day from born) as integer) = 10
 and cast(extract(month from born) as integer) = 9

Только конечно это fuull scan будет то есть полное чтение таблицы. Для больших таблиц (несколько миллионов) нехорошо. Надо будет дополнительные фичи наворачивать. Если таблица небольшая то нормально


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо