Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как сгруппировать данные по неделям ?


wed ©   (2002-09-07 18:53:00) 

Существуют ф-ции year(), month(). Требуется сгруппировать данные по неделям. Сразу начал искать week() - с наскока не получилось, со второго и третьего тоже. Может кто-то сталкивался ???
спасибо.


wed   (2002-09-09 10:07:00) [1]

нет, мне именно строгие недели.
спасибо.


sniknik   (2002-09-08 21:21:00) [2]

не радуйся раньше времени надо действительно определится как -
Anatoly Podgoretsky © (08.09.02 16:25)

до меня только дошло ;-).
тот селект не будет отслеживать "половинчатые" недели, и еще подлые америкосы считают начало недели с воскресенья, не смущает?
короче если надо делить по неделям как в календаре надо
SET DATEFIRST 1
SELECT DATEPART(wk, GETDATE())-DATEPART(wk, CONVERT(DateTime, CONVERT(VarChar(8), GETDATE(), 102)+"01")-1)+1
но так в месяце будет по 5-6 недель смотря как захватит "кончики". Короче решай и переделывай как надо именно тебе.


wed   (2002-09-08 19:31:00) [3]

да...все отлично...спасибо огромное.


sniknik   (2002-09-08 19:29:00) [4]

А это оно и есть. Сегодня например 8-е вторая неделя с начала месяца. проверь.


Anatoly Podgoretsky   (2002-09-08 17:40:00) [5]

Но ему то с начала месяца


sniknik   (2002-09-08 17:23:00) [6]

не самое элегантное решение но как есть
SELECT DATEDIFF(wk, CONVERT(DateTime, CONVERT(VarChar(8), GETDATE(), 102)+"01")-1, GETDATE())
выдаст номер текущей недели


Anatoly Podgoretsky   (2002-09-08 16:25:00) [7]

Ну для этого надо как минимум определение как собираешься считать номера в месяце


wed   (2002-09-08 16:21:00) [8]

спасибо за подсказку, но если мед, то ложкой...
а номер недели в месяце можно получить ?
спасибо.


wed   (2002-09-08 16:15:00) [9]

именно MSSQL, прошу прощения, что не указал сразу


sniknik   (2002-09-08 01:23:00) [10]

Неозможно. Пока не скажеш тип базы, это военная тайна?

для разных баз возможны разные рашения.... или невозможны.
для MSSQL например групировку можно сделать по DATEPART(ww {or wk}, YoursVarDate)


Наверх

Титульная страница Поиск, карта сайта Написать письмо