Вниз
Скачать: CL | DM;

Формирование запроса к таблице с ненормальной датой   Найти похожие ветки 

 
Ольга   (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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.037 c
3-1122958157
Kara
2005-08-02 08:49
2005.09.11
Изменяемая ячейка StringGrid


2-1123234603
Bagdat
2005-08-05 13:36
2005.09.11
Создание папок


3-1122975375
surkis
2005-08-02 13:36
2005.09.11
DBGRID.MultiSelect


1-1124737726
Yozch1
2005-08-22 23:08
2005.09.11
Сохранение данных в VirtualTreeView


1-1124174297
Death_R
2005-08-16 10:38
2005.09.11
Декомпиляция




   Наверх