Здравствуйте.
Есть таблица в которой дата указана не одним полем типа date, а тремя типа varchar, пример данных:
sday smonth syear
01 10 2009
23 11 2009
........
Собственно проблема в том что нужно выполнить select в котором выбрать данные в зависимости от даты, т. е. скажем выбрать те у которых дата более старая чем сегодня, но вот как сравнить дату в таком виде никак не могу догадаться
Думал в разделе where как то преобразовать три поля в значение типа date и потом уже сравнивать, но вот незнаю какой функцией это можно реализовать.
Подскажите как лучше сделать выборку?
Выборка в зависимости от даты
Re: Выборка в зависимости от даты
возможен ли вариант с написанием функции которой бы передовались значения день, месяц, год и которая возвращала бы date с подставкой этой функции в select? Или есть какоето более правильное решение?
Re: Выборка в зависимости от даты
добавить столбец date, заполнить его чем-то типа
cast(sday||'.'||smonth||'.'|| syear as date)
и искать уже по этому столбцу. Или не создавать столбец, а искать по дате, полученной указанным cast. Просто если столбец не хранить, то много cast "замусорят" запрос. Ну и, столбец еще проиндексировать можно. Дело вкуса и возможностей.
cast(sday||'.'||smonth||'.'|| syear as date)
и искать уже по этому столбцу. Или не создавать столбец, а искать по дате, полученной указанным cast. Просто если столбец не хранить, то много cast "замусорят" запрос. Ну и, столбец еще проиндексировать можно. Дело вкуса и возможностей.