Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
vah Member Откуда: Сообщений: 2674 |
Скажите пожалуйста, если использовать этот алгоритм https://www.sql.ru/blogs/decolores/212 то не понятно как работает Diff в этом случае (как на картинке) select [dbo].[WorkDayDiff]('20190306','20190311') Заранее благодарен. К сообщению приложен файл. Размер - 29Kb |
11 мар 19, 11:56 [21828989] Ответить | Цитировать Сообщить модератору |
vah Member Откуда: Сообщений: 2674 |
vah, может DateDiff тут лучше так сделать? declare @i int set @i=0 select @i=@i+1 from Calendar where IsWorkday=1 and DateValue between '20190307' and '20190311' select @i и тогда вообще не поле WorkIndex с триггером не нужно?
Сообщение было отредактировано: 11 мар 19, 13:18 |
|
11 мар 19, 13:11 [21829075] Ответить | Цитировать Сообщить модератору |
Владислав Колосов Member Откуда: Сообщений: 8353 |
vah, Вы о чем спрашиваете? Хотите разобраться в принципе действия алгоритма? |
11 мар 19, 13:13 [21829081] Ответить | Цитировать Сообщить модератору |
vah Member Откуда: Сообщений: 2674 |
Владислав Колосов, корректен ли мой вариант? |
11 мар 19, 13:20 [21829091] Ответить | Цитировать Сообщить модератору |
Владислав Колосов Member Откуда: Сообщений: 8353 |
vah, корректность алгоритма проверяется сравнением ожидаемого результата с полученным. Вы сам можете убедиться - работает он или нет. Можно было count() использовать для подсчета количества. По сути одно и то же. |
11 мар 19, 13:53 [21829153] Ответить | Цитировать Сообщить модератору |
vah Member Откуда: Сообщений: 2674 |
Владислав Колосов, вдруг я что-то не учел... |
11 мар 19, 13:55 [21829160] Ответить | Цитировать Сообщить модератору |
Wlr-l Member Откуда: Сообщений: 523 |
vah, Прочитайте еще раз статью. Поле WorkIndex предназначено для того, чтобы не считать количество. Достаточно найти разность WorkIndex-ов заданных дат. |
11 мар 19, 15:51 [21829339] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |