как найти ближайшую дату к заданной

rumpel_
Дата: 04.02.2013 13:19:14
Здравствуйте, подскажите пожалуйста, как написать запрос, по таким условиям:
"Исходим из того, что мы имеем исторические изменения до 3 месяцев в прошлом и
все будущие изменения. Текущая дата в системе 01/07/2011.

Написать SQL запрос который покажет текущую цену для товара 03020318 в
каждой ценовой зоне (на 01/07/2011)."

В таблице есть изменения за 05 и 06 месяцы, и за 2012 год. По идее запрос должен вернуть последнее изменение перед 01/07/2011, если я все правильно понял. Как это реализовать?
Спасибо.
Spawnedmate
Дата: 04.02.2013 14:20:42
select max(date) where date<('01.07.2011')
rumpel_
Дата: 04.02.2013 14:28:55
Spawnedmate, спасибо тебе добрый человек. почему-то за два дня копаний в инете по сабжу, не нашел функции maxdate в принципе.... а оказывается все так элементарно. спасибо
rumpel_
Дата: 04.02.2013 14:33:58
ну в смысле функции max в привязке к дате:)
22novimir
Дата: 05.02.2013 09:05:03
А как выборку сделать к примеру по периодам. Вот месяц есть и надо взять данные с 15 числа и по 21 число, как сформулировать запрос? Спасибо!
tanglir
Дата: 05.02.2013 10:56:37
22novimir, есть такой оператор "between". Впрочем, можно обойтись и обычными >(=) и <(=). Ещё можно воспользоваться функцией dayofmonth() - в общем, вариантов много... было бы ещё желание их искать :(