Страница 1 из 1

Выборка в зависимости от даты

Добавлено: 04 мар 2010, 15:14
SAN_i
Здравствуйте.

Есть таблица в которой дата указана не одним полем типа date, а тремя типа varchar, пример данных:
sday smonth syear
01 10 2009
23 11 2009
........

Собственно проблема в том что нужно выполнить select в котором выбрать данные в зависимости от даты, т. е. скажем выбрать те у которых дата более старая чем сегодня, но вот как сравнить дату в таком виде никак не могу догадаться :(
Думал в разделе where как то преобразовать три поля в значение типа date и потом уже сравнивать, но вот незнаю какой функцией это можно реализовать.

Подскажите как лучше сделать выборку?

Re: Выборка в зависимости от даты

Добавлено: 04 мар 2010, 15:16
SAN_i
возможен ли вариант с написанием функции которой бы передовались значения день, месяц, год и которая возвращала бы date с подставкой этой функции в select? Или есть какоето более правильное решение?

Re: Выборка в зависимости от даты

Добавлено: 04 мар 2010, 15:53
kdv
добавить столбец date, заполнить его чем-то типа
cast(sday||'.'||smonth||'.'|| syear as date)
и искать уже по этому столбцу. Или не создавать столбец, а искать по дате, полученной указанным cast. Просто если столбец не хранить, то много cast "замусорят" запрос. Ну и, столбец еще проиндексировать можно. Дело вкуса и возможностей.