Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Количество недель и дней  [new]
Настенька
Member

Откуда: Норильск
Сообщений: 932
Добрый день. есть две даты, как получить разницу в неделях и днях.
например, чтобы был такой ответ: 6 недель и 3 дня или 13 недель и 6 дней. и т.д.
вроде надо использовать функцию datediff, но не могу в ней до конца разобраться.
всем заранее спасибо за ответы.
11 сен 09, 07:25    [7645660]     Ответить | Цитировать Сообщить модератору
 Re: Количество недель и дней  [new]
DENIS_CHEL
Member

Откуда:
Сообщений: 23097
SELECT datediff(ww,'20090901',getdate()) AS 'недель',(datediff(dd,'20090901',getdate()))%7 AS 'дней'

?
11 сен 09, 07:30    [7645662]     Ответить | Цитировать Сообщить модератору
 Re: Количество недель и дней  [new]
Настенька
Member

Откуда: Норильск
Сообщений: 932
Да, спасибо, работает. Только возникла необходимость падежи правильно выставлять: например:
21 неделя и 3 дня. как это лучше реализовать?
11 сен 09, 07:35    [7645665]     Ответить | Цитировать Сообщить модератору
 Re: Количество недель и дней  [new]
Зайцев Фёдор
Member

Откуда: Лужки
Сообщений: 5308
Настенька
как это лучше реализовать?

в идеале - самостоятельно )
11 сен 09, 07:40    [7645667]     Ответить | Цитировать Сообщить модератору
 Re: Количество недель и дней  [new]
Настенька
Member

Откуда: Норильск
Сообщений: 932
Ну может у кого-то есть уже готовая функция.
11 сен 09, 07:43    [7645670]     Ответить | Цитировать Сообщить модератору
 Re: Количество недель и дней  [new]
Настенька
Member

Откуда: Норильск
Сообщений: 932
извините, еще вопрос: а какой аналог этому оператору : "%" в visual basic?
mod не подходит.
11 сен 09, 07:44    [7645672]     Ответить | Цитировать Сообщить модератору
 Re: Количество недель и дней  [new]
DENIS_CHEL
Member

Откуда:
Сообщений: 23097
10 Mod 3
11 сен 09, 07:51    [7645678]     Ответить | Цитировать Сообщить модератору
 Re: Количество недель и дней  [new]
Настенька
Member

Откуда: Норильск
Сообщений: 932
хм, интересно. если в basice указываешь первый день - vbmonday, то функция считает неверно, а если не указываешь - верно. отчего это может зависеть?
11 сен 09, 07:54    [7645682]     Ответить | Цитировать Сообщить модератору
 Re: Количество недель и дней  [new]
iap
Member

Откуда: Москва
Сообщений: 46975
Настенька
хм, интересно. если в basice указываешь первый день - vbmonday, то функция считает неверно, а если не указываешь - верно. отчего это может зависеть?
Дело в том, что по причине, известной только Microsoft, функция DATEDIFF(WEEK, [Date1], [Date2]) считает количество соседних Суббота+Воскресенье,
попавших в промежуток между [Date1] и [Date2]. Это ни от чего не зависит! Даже от DATEFIRST!
11 сен 09, 08:56    [7645751]     Ответить | Цитировать Сообщить модератору
 Re: Количество недель и дней  [new]
iap
Member

Откуда: Москва
Сообщений: 46975
Лучше скажите, как Вы понимаете разницу в неделях? Почему Вас не устраивает
SELECT DATEDIFF(DAY,[Date1],[Date2])/7 [недель], DATEDIFF(DAY,[Date1],[Date2])%7 [дней]
?
11 сен 09, 08:59    [7645761]     Ответить | Цитировать Сообщить модератору
 Re: Количество недель и дней  [new]
AndrF
Member

Откуда:
Сообщений: 2194
Настенька
Ну может у кого-то есть уже готовая функция.


Я здесь на днях приводил готовую
11 сен 09, 09:38    [7645867]     Ответить | Цитировать Сообщить модератору
 Re: Количество недель и дней  [new]
Настенька
Member

Откуда: Норильск
Сообщений: 932
Да, функция интересная. Спасибо.
11 сен 09, 10:16    [7646048]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить