Ситуация такая:
есть в mysql табличке ячейка nom, содержащая вот такого вида данные: 10508010/110112/0000121, где 110112 между слэшами - это дата.
Не могу придумать как сделать такую выборку по диапазону дат, чтобы выбирались из таблички этой те nom, где дата соответствует заданному диапазону.
Прошу помочь, кто может

Спустя 41 минута, 24 секунды (25.04.2012 - 13:54) dadli написал(а):
$date_1 = '2012-01-11';
$date_2 = '2012-03-11';
$res = mysqli_query($db,
"SELECT * FROM (
SELECT *,CAST(CONCAT(
SUBSTR(SUBSTRING_INDEX(SUBSTRING_INDEX(name,'/',2),'/',-1),5,2) + 2000,'-',
SUBSTR(SUBSTRING_INDEX(SUBSTRING_INDEX(name,'/',2),'/',-1),3,2),'-',
SUBSTR(SUBSTRING_INDEX(SUBSTRING_INDEX(name,'/',2),'/',-1),1,2),'-'
) as DATE) AS ddd
FROM `table`
) AS t
WHERE ddd BETWEEN '$date_1' AND '$date_2'
");
например так можно, но если таблица болшая, етот запрос виполняется очен долго.
поетаму, дату всегдо нужна хранить отделную в поле и в правилном формате.
Спустя 28 минут, 24 секунды (25.04.2012 - 14:22) sergeiss написал(а):
sjy19 - я бы так сказал, что, может быть, лучше переделать табличку? Чтобы там дата была в отдельном поле. Будет удобнее выбирать + можно проиндексировать по дате. Индексирование позволит ускорить выборку, особенно когда много данных будет.
Спустя 2 дня, 21 час, 31 минута, 38 секунд (28.04.2012 - 11:54) sjy19 написал(а):
Да, спасибо, так и сделала, добавила ячейку с датой. Все сработало!
