Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как найти ближайшую дату к указанной? в MySQL 
:(
    Опции темы
TheAviator
Дата 26.12.2005, 22:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 219
Регистрация: 28.9.2003
Где: Николаев-Киев

Репутация: нет
Всего: нет



Сабж.
Имею дату типа 2005-06-01 00:00:00.
Имею базу с полем DT, где даты хранятся в таком же формате.
Как найти номер (Id) поля, значение даты в котором наиболее близко к заданной?
Спасибо.
PM MAIL WWW ICQ   Вверх
Mal Hack
Дата 26.12.2005, 22:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 8
Всего: 261



Выбираем записи сортируем по дате DESC, LIMIT 1.
Если надо дату как позже так и раньше, то двумя запросами, либо извратом через UNION SELECT или вложенным СЕЛЕКТом.
PM ICQ   Вверх
mr.fox
Дата 27.12.2005, 05:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 298
Регистрация: 13.3.2005
Где: Ирландия

Репутация: 1
Всего: 2



where dt between 'x' and 'y'
PM MAIL WWW ICQ   Вверх
Mal Hack
Дата 27.12.2005, 09:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 8
Всего: 261



mr.fox не факт, что будет именно в этом диапазоне ближайшая дата.
PM ICQ   Вверх
Akina
Дата 27.12.2005, 09:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 106
Всего: 454



О версии MySQL нам предлагается догадаться самим...
Цитата
DATEDIFF() returns the number of days between the start date expr and the end date expr2. expr and expr2 are date or date-and-time expressions. Only the date parts of the values are used in the calculation.

Так что ORDER BY ABS(DATEDIFF()) ASC LIMIT 1
Цитата
DATEDIFF() was added in MySQL 4.1.1



--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
TheAviator
Дата 28.12.2005, 23:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 219
Регистрация: 28.9.2003
Где: Николаев-Киев

Репутация: нет
Всего: нет



Akina: Thanks a lot!
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.0464 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.