Форум: "Начинающим";
Текущий архив: 2008.10.19;
Скачать: [xml.tar.bz2];
ВнизРабота с датой Найти похожие ветки
← →
deras (2008-09-10 18:42) [0]В базе (ФБ) есть таблица T с полями NAME - имя и BORN - дата рождения.
Можно ли запросом выбрать всех, у кого сегодня день рождения?
← →
Palladin © (2008-09-10 18:48) [1]а что то мешает?
← →
Sergey Masloff (2008-09-10 18:51) [2]Не знаю как братва, лично я не против...
(с) анекдот
← →
Sergey Masloff (2008-09-10 18:54) [3]deras (10.09.08 18:42)
Кстати дата-дата или дата-таймстамп?
Если универсально то выбирай интервалом через between
← →
Anatoly Podgoretsky © (2008-09-10 19:49) [4]> deras (10.09.2008 18:42:00) [0]
Можно
← →
deras (2008-09-10 20:23) [5]Все прикольно... Даже улыбнуло...
> Sergey Masloff (10.09.08 18:54) [3]
Дата-дата
← →
Sergey Masloff (2008-09-10 20:39) [6]deras (10.09.08 20:23) [5]
Ну тогда (если диалект 3 потому что в первом дата это как таймстамп) просто на равенство
...
where BORN = CURRENT_DATE
← →
Palladin © (2008-09-10 21:53) [7]все понятно. мешает незнание sql. не понимаю. чегож вы лезете без таких базовых знаний?
← →
Anatoly Podgoretsky © (2008-09-10 22:13) [8]Знаний не хватает не с SQL а более обще, даже вопрос не может задать.
← →
deras (2008-09-10 23:01) [9]
> Sergey Masloff (10.09.08 20:39) [6]
Спасибо за ответ. Но насколько я понимаю, переменная CURRENT_DATE возвращает текущую дату. А мне не надо дни рождения тех, кто родился именно сегодня...
Например, у чела д.р. 10.09.1975, а сегодня 10.09.2008 Надо выбрать этого человека...
Как можно выбрать тех, у кого д.р. 10.09 ?
> Palladin © (10.09.08 21:53) [7]
А что, кто-то запрещает лазить по форумам с вопросами без базовых знаний?
> Anatoly Podgoretsky © (10.09.08 22:13) [8]
Я не прошу оценивать мои знания и личностные качества. Я попросил совета... Честно говоря, мену удивил Ваш ответ, ибо всегда считал и продолжаю считать Вас таким участником форума (в частности этого), от которого можно ожидать только правильного ответа или (что еще более ценно), намека на ответ...
← →
Sergey Masloff (2008-09-10 23:12) [10]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 будет то есть полное чтение таблицы. Для больших таблиц (несколько миллионов) нехорошо. Надо будет дополнительные фичи наворачивать. Если таблица небольшая то нормально
← →
Anatoly Podgoretsky © (2008-09-10 23:49) [11]> deras (10.09.2008 23:01:09) [9]
Ты прав насчет оценки, но ты не просил советы, ты хотел узнать можно или нет и ты уже давно получил ответ, даже несколько, а сейчас ты просто трепешься, поскольку ничего нового к твоему вопросу добавить нельзя, только повторить, что можно. Кроме того ты явно не хочешь читать документацию, в которой четко написано как получить день и месяц их даты.
← →
Германн © (2008-09-11 01:40) [12]
> Я не прошу оценивать мои знания и личностные качества.
Оценки делаются независимо от личных просьб участников форума. И каждый участник форума должен быть готов к тому, что его "знания и личностные качества" получат независимую оценку от других участников форума.
← →
deras (2008-09-11 10:19) [13]
> 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]
Тут Вы правы... Но ветка форума-то "для начинающих"... Тогда, в принципе, можно каждому задающему вопрос сказать "это ж базовые знания! иди учи матчасть!" Так получается?
← →
Ega23 © (2008-09-11 10:32) [14]
> Тогда, в принципе, можно каждому задающему вопрос сказать
> "это ж базовые знания! иди учи матчасть!" Так получается?
Нет конфы "Песочница". К сожалению. Процентов 40 вопросов отсюда следовало бы туда перенести. В первую очередь, чтобы задающему становилось стыдно.
← →
Vlad Oshin © (2008-09-11 10:48) [15]на случай штампа
select
NAME
from
T
where
BORN > сегодня в 0:00:00
and BORN < сегодня в 23:59:59
← →
Правильный$Вася (2008-09-11 10:54) [16]
> Vlad Oshin © (11.09.08 10:48) [15]
на случай "сегодня" - их еще даже зарегистрировать не успели
так что метод для штампа тот же - extract
← →
Ega23 © (2008-09-11 10:58) [17]
> Vlad Oshin © (11.09.08 10:48) [15]
"У кого сегодня ДР" <> "Кто родился сегодня"
← →
Vlad Oshin © (2008-09-11 11:16) [18]
> "У кого сегодня ДР" <> "Кто родился сегодня"
логично,
> метод для штампа тот же - extract
← →
deras (2008-09-11 12:13) [19]
> Ega23 © (11.09.08 10:32) [14]
Стыдно?... Хм... А от чего мне должно быть стыдно? От того, что я знаю меньше чем Вы? Абсолютно НЕТ! Вот Вам стыдно, что Вы знаете меньше, чем какой-то там супер-пупер программер из Борланда? Думаю - нет. Вот и мне тоже нечего стыдится, задавая простые "песочниковские" вопросы.
← →
Ega23 © (2008-09-11 12:31) [20]
> Стыдно?... Хм... А от чего мне должно быть стыдно? От того,
> что я знаю меньше чем Вы? Абсолютно НЕТ!
Я не конкретно про тебя, я вообще. Если ты внимательно будешь читать каждый день конфу "Начинающим" (в течении года, например), то ты наберёшь большую статистику. Раз в 2 недели будет встречаться вопрос "Как мне в ДБГрид засунуть данные", "Мерцание формы при перерисовке" и т.п.Процентов 5 вопросов будут вообще дебильными (образцы - в Орешнике).
Также очень много вопросов, которые вполне достойны именно "начинающих" (вполне нормальные вопросы), но которые заданы просто безобразно. Это, кстати, и твоего вопроса касается. Мог бы чуть-чуть подумать и задать его так:
"В базе (ФБ) есть таблица T с полями NAME - имя и BORN - дата рождения.
Нужно одним запросом выбрать всех, у кого сегодня день рождения. Есть ли возможность вытащить день и месяц из поля BORN?"
И, поверь, отношение к вопросу было бы гораздо серьёзнее: человек понимает, что ему требуется сделать, но не знает как. Точнее, не знает функцию.
Когда-то очень-очень давно, году в 99, когда я только месяц как Delphi осваивал, надо было мне проверить существование файла. И вопрос был задан (не на этом форуме): "Надо проверить существование конкретного файла. Подозреваю, что есть такая функция, но не знаю её названия." Ответ был "FileExists + F1".
Так что обижаться тут не стоит. Просто в следующий раз, когда будешь задавать вопрос, подумай, как не выглядеть человеком, достойным "песочницы". А для этого нужно всего-то ничего: сначала подумать, поискать в хелпе, внятно изложить вопрос на экране, перечитать, что ты изложил, представить себя на месте читающего вопрос (всё ли понятно), и только после этого постить.
У меня за последние года 3-4 так 90% моих вопросов отсеивались. Начнёшь внятно излагать, пока писал - нашёл решение, залез в хелп, проверил - вроде оно, Написал тест - внатуре работает. Вопрос отпал сам собой.
← →
deras (2008-09-11 12:44) [21]
> Ega23 © (11.09.08 12:31) [20]
Достойный ответ! Тут нечего сказать, кроме благодарности. Я обязательно прислушаюсь к Вашим советам. Спасибо!
← →
MsGuns © (2008-09-11 16:42) [22]Забавно, но сыр-бор не поднялся бы, если в сабже вместо "Можно ли" было слово "Как"
Велик могучим русский языка ;)))
← →
Ega23 © (2008-09-11 16:52) [23]
> Забавно, но сыр-бор не поднялся бы, если в сабже вместо
> "Можно ли" было слово "Как"
С вероятностью 80% - да.
← →
Anatoly Podgoretsky © (2008-09-11 16:53) [24]
> Вы ж, как разумный человек
В том то и дело, но я к тому же и вежливый, не пытаюсь говорить о том, о чем не спрашивали.
Задал бы вопрос, не можно, а как, то получил бы ответ, тем более, что задача решаема, вот если захочешь предупреждать не в день рождения, а скажем за пару недель до, вот там проблематично.
← →
Anatoly Podgoretsky © (2008-09-11 16:54) [25]> deras (11.09.2008 12:13:19) [19]
Ну так ты и получил полный ответ на твой вопром, максимадльно точный, народу много ответило.
← →
Anatoly Podgoretsky © (2008-09-11 16:56) [26]> deras (11.09.2008 12:44:21) [21]
http://www.podgoretsky.com/Redir.aspx?id=213&DownloadFile=~/ddp/howtoask.aspx
← →
deras (2008-09-11 22:05) [27]Хочу поблагодарить всех за ответы. ПОлучиласть интересная дискуссия, из которой я сделал выводы...
Персонально Вам
> Anatoly Podgoretsky © (11.09.08 16:56) [26]
спасибо за ссылку - интересно и поучительно
← →
Сергей М. © (2008-09-11 22:49) [28]
> Можно ли запросом выбрать всех, у кого сегодня день рождения?
> Sergey Masloff (10.09.08 18:51) [2]
> не против...
> Anatoly Podgoretsky © (10.09.08 19:49) [4]
> Можно
> deras (10.09.08 20:23) [5]
> Все прикольно
Детство, играющее в "очке", - признак грядущей мудрости)
← →
Anatoly Podgoretsky © (2008-09-12 00:04) [29]Сам в дальнейшем будешь пинать другим, но для этого надо пройти весь путь, то есть лично получить по шее.
Никто не учится на чужих ошибка, все предпочитают учиться на своих, но некоторые всю жизнь ходят по одним и тем же граблям.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2008.10.19;
Скачать: [xml.tar.bz2];
Память: 0.52 MB
Время: 0.006 c