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

Откуда:
Сообщений: 45
как написать запрос для подсчета дней недели?
Понедельник + 10дней = Четверг
7 сен 18, 11:56    [21667956]     Ответить | Цитировать Сообщить модератору
 Re: запрос для подсчета дней недели  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
Asic,

вне зависимости от месяца и года что-ли?
7 сен 18, 11:58    [21667961]     Ответить | Цитировать Сообщить модератору
 Re: запрос для подсчета дней недели  [new]
Asic
Member

Откуда:
Сообщений: 45
TaPaK,

да, вне зависимости от месяца и года
7 сен 18, 12:00    [21667965]     Ответить | Цитировать Сообщить модератору
 Re: запрос для подсчета дней недели  [new]
court
Member

Откуда:
Сообщений: 2016
TaPaK
Asic,

вне зависимости от месяца и года что-ли?
как-то влияют месяц/год на последовательность дней недели ? :)
т.е. есть вариант когда за средой будет сразу пятница ? :))
7 сен 18, 12:05    [21667975]     Ответить | Цитировать Сообщить модератору
 Re: запрос для подсчета дней недели  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
court
TaPaK
Asic,

вне зависимости от месяца и года что-ли?
как-то влияют месяц/год на последовательность дней недели ? :)
т.е. есть вариант когда за средой будет сразу пятница ? :))

то меня накрывает :)
7 сен 18, 12:07    [21667979]     Ответить | Цитировать Сообщить модератору
 Re: запрос для подсчета дней недели  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
Asic,

DECLARE @d int = 1
SELECT (@d + 10)%7
7 сен 18, 12:08    [21667982]     Ответить | Цитировать Сообщить модератору
 Re: запрос для подсчета дней недели  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
[quot TaPaK]Asic,
точнее если первый день
--1 пон
--2 втр
--3 срд
--4 чет
--5 птн
--6 суб
--7 вск
DECLARE @d int = 7
SELECT (@d + 7 + 1)%7
7 сен 18, 12:10    [21667985]     Ответить | Цитировать Сообщить модератору
 Re: запрос для подсчета дней недели  [new]
Посетитель
Member

Откуда:
Сообщений: 1209
TaPaK
%7


все еще неточно. %7 дает результат от 0 до 6 :)
7 сен 18, 12:23    [21668010]     Ответить | Цитировать Сообщить модератору
 Re: запрос для подсчета дней недели  [new]
Посетитель
Member

Откуда:
Сообщений: 1209
Посетитель
TaPaK
%7



все еще неточно. %7 дает результат от 0 до 6 :)



DECLARE @d int 
       ,@Add int
select @d = 7
      ,@Add = 8
SELECT (@d + @Add - 1)%7+1
7 сен 18, 12:27    [21668018]     Ответить | Цитировать Сообщить модератору
 Re: запрос для подсчета дней недели  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
Посетитель,

зануда... надо в отпуск :)

DECLARE @d int = 1,
	@i int = 10

SELECT a.n
FROM (VALUES
(1, 'пон'),
(2, 'втр'),
(3, 'срд'),
(4, 'чет'),
(5, 'птн'),
(6, 'суб'),
(7, 'вск')
) as a(d,n)
WHERE a.d = (@d + @i -1 )%7  + 1
7 сен 18, 12:27    [21668020]     Ответить | Цитировать Сообщить модератору
 Re: запрос для подсчета дней недели  [new]
Asic
Member

Откуда:
Сообщений: 45
TaPaK, спасибо, работает.
А где почитать можно о %
7 сен 18, 12:30    [21668027]     Ответить | Цитировать Сообщить модератору
 Re: запрос для подсчета дней недели  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
Asic
TaPaK, спасибо, работает.
А где почитать можно о %

в 6м классе школы
7 сен 18, 12:36    [21668037]     Ответить | Цитировать Сообщить модератору
 Re: запрос для подсчета дней недели  [new]
Владимир Затуливетер
Member

Откуда:
Сообщений: 427
Asic
А где почитать можно о %

https://docs.microsoft.com/en-us/sql/t-sql/language-elements/modulo-transact-sql?view=sql-server-2017
7 сен 18, 17:26    [21668454]     Ответить | Цитировать Сообщить модератору
 Re: запрос для подсчета дней недели  [new]
Шыфл
Member

Откуда: Прага
Сообщений: 776
TaPaK,
а штатными средствами SQL уже не модно и не молодёжно?

SET DATEFIRST 1
select datepart(dw,'20180910')
10 сен 18, 15:13    [21669921]     Ответить | Цитировать Сообщить модератору
 Re: запрос для подсчета дней недели  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
Шыфл
TaPaK,
а штатными средствами SQL уже не модно и не молодёжно?

SET DATEFIRST 1
select datepart(dw,'20180910')

модно читать что просят
10 сен 18, 15:29    [21669946]     Ответить | Цитировать Сообщить модератору
 Re: запрос для подсчета дней недели  [new]
Шыфл
Member

Откуда: Прага
Сообщений: 776
TaPaK,

Я не очень верю в независимость дней недели от даты и календаря...
10 сен 18, 17:40    [21670114]     Ответить | Цитировать Сообщить модератору
 Re: запрос для подсчета дней недели  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
Шыфл
TaPaK,

Я не очень верю в независимость дней недели от даты и календаря...

да нам плевать
11 сен 18, 09:25    [21670522]     Ответить | Цитировать Сообщить модератору
 Re: запрос для подсчета дней недели  [new]
Посетитель
Member

Откуда:
Сообщений: 1209
TaPaK
Шыфл
TaPaK,

Я не очень верю в независимость дней недели от даты и календаря...

да нам плевать


секта свидетелей внезапной среды.
11 сен 18, 09:29    [21670528]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить