Вниз
Скачать: 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.024 c
3-1122378670
alex_***
2005-07-26 15:51
2005.09.11
изменить логин у dbo


9-1116308650
MsShtaer
2005-05-17 09:44
2005.09.11
Люди, где можно скачать компонент TFPSGame


5-1098864782
Sysa
2004-10-27 12:13
2005.09.11
Как сделать свою кнопку


14-1124091116
Антон13
2005-08-15 11:31
2005.09.11
Специальные знаки


3-1122991719
vol
2005-08-02 18:08
2005.09.11
можно абдейт нескольких в одну строку?




   Наверх