![]() |
|
Модераторы: skyboy |
![]()
|
|
| Ripper |
|
|||
![]() Lonely soul... ![]() ![]() Профиль Группа: Участник Сообщений: 920 Регистрация: 30.6.2004 Где: г. Москва Репутация: нет Всего: 23 |
Доброе утро.
У меня в таблице есть дата регистрации, хранящаяся в timestamp. Нужно найти все записи, для которых с момента регистрации прошло полных 7 дней. Причем дату регистрации нужно округлить, ну например, пользователь зарегистрирован 5ого мая в 3 часа дня. Нужно чтобы с момента этой даты прошла целая неделя, т.е. 6, 7, 8, 9, 10, 11, 12 числа. UPDATE `user` SET `status` = '1' WHERE now() > date_add(regdate, INTERVAL 7 DAY) Но если я правильно понял то если выполнить этот запрос в 4 часа дня 11ого мая, то он вернет пользователя, что немного не подходит. Есть ли какая-то ф-ия которая округлила бы regdate до след. дня? В гугле для этого пишут страшные хранимые процедуры и т.д., мне кажется все гораздо проще. Можно конечно 8 дней добавлять, но тоже немного криво) Спасибо -------------------- "Он знает: надо смеяться над тем, что тебя мучит, иначе не сохранишь равновесия, иначе мир сведет тебя с ума" - Над кукушкиным гнездом |
|||
|
||||
| AndreyIQ |
|
||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 185 Регистрация: 5.2.2007 Репутация: 3 Всего: 8 |
в firebird:
Это сообщение отредактировал(а) AndreyIQ - 10.5.2012, 10:32 |
||||
|
|||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 45 Всего: 454 |
Ripper, никогда не выполняйте операций с полями, если можно выполнить операции с константами или функциями. Вы теряете возможность использовать индексы. И выбирайте правильную функцию...
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| Ripper |
|
|||
![]() Lonely soul... ![]() ![]() Профиль Группа: Участник Сообщений: 920 Регистрация: 30.6.2004 Где: г. Москва Репутация: нет Всего: 23 |
А, если я верно понимаю, current_date вернет дату (без часов-минут-секунд), и тогда все будет как нужно. Например если юзер зарегистрировался 10 мая в 5 часов, сегодня 17 мая 8 часов, то 17-7 = 10 и условие не выполнится?)
Спасибо большое Akina! -------------------- "Он знает: надо смеяться над тем, что тебя мучит, иначе не сохранишь равновесия, иначе мир сведет тебя с ума" - Над кукушкиным гнездом |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 45 Всего: 454 |
Не надо ничего "верно понимать". http://dev.mysql.com/doc/refman/5.5/en/dat...-functions.html -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Составление SQL-запросов | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |