Форум: "Базы";
Текущий архив: 2005.09.11;
Скачать: [xml.tar.bz2];
ВнизФормирование запроса к таблице с ненормальной датой Найти похожие ветки
← →
Ольга (2005-08-01 15:53) [0]Есть такая табличка:
CREATE TABLE [dbo].[elen30]
( [ID] [int] NOT NULL ,
[dd] [char] (2) , -- день
[mm] [char] (2) , -- месяц
[yyyy] [char] (4) , -- год
[Value] [numeric](28, 5) NOT NULL
) ON [PRIMARY]
Параметры запроса к этой таблице:
@beg datetime, @end datetime
Не могу правильно составить запрос:
SELECT *
FROM elen30
WHERE
(yyyy BETWEEN DatePart(yyyy, @beg) AND DatePartyyyy,@end)) AND
(mm BETWEEN DatePart(mm, @beg) AND DatePart(mm,@end)) AND
(dd BETWEEN DatePart(dd, @beg) AND DatePart(dd,@end))
Естественно, этот запрос не выбирает данные с 31 по 1 число (с 12 по 1 месяц).
CASE во WHERE вставлять нельзя или у меня не получается?
← →
Fay © (2005-08-01 15:59) [1]where
yyyy + mm + dd between @beg and @end
?
← →
Ольга (2005-08-01 16:11) [2]
> yyyy + mm + dd between @beg and @end
А тоже самое на T-SQL повторите? Формат даты на сервере может быть произвольный (подобные таблицы у N клиентов на N серверах).
← →
Ольга (2005-08-01 16:14) [3]Уже дошло. Это же унифицированный формат yyyymmdd!
Спасибо, как же я сама недопетрила.
← →
Fay © (2005-08-01 16:17) [4]2 Ольга (01.08.05 16:14) [3]
8)
← →
evvcom © (2005-08-02 08:56) [5]А почему бы [dd], [mm], [yyyy] не хранить в одном поле типа datetime?
← →
DiamondShark © (2005-08-02 15:41) [6]
> А почему бы [dd], [mm], [yyyy] не хранить в одном поле типа
> datetime?
А это, типа, проектировщики слышали звон, да не поняли откуда он.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2005.09.11;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.012 c