powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Помогите с запросом
4 сообщений из 4, страница 1 из 1
Помогите с запросом
    #32023076
Новичок
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Имеется таблица с полями dz (дата заявления) и du(дата устранения). Требуется отобрать записи с разницей между этими полями (du-dz>24 часов). Это я могу. А вот как избавиться от выходных, напр, чтобы dz (Пятница 17-00) и du(Понедельник 16-00) не входило в этот диапазон.
Есть идея: если в dz день недели Пятница, то (du-dz)+48 часов.
А как записать это на T-SQL?
...
Рейтинг: 0 / 0
Помогите с запросом
    #32023083
MadDog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Новичок:
Подобная техника не спасет Вас если придется учитывать праздники или какие-то "особые дни" Вашей фирмы.
Мне кажется лучше завести таблицу рабочих(нерабочих, и тех и других) дней и аккуратно вести ее.
...
Рейтинг: 0 / 0
Помогите с запросом
    #32023095
nic_ii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
запрос будет выглядеть примерно следующим образом:

SELECT * FROM Table
WHERE DATEDIFF( hh, dz, du ) > CASE WHEN DATEPART (dw, du ) = 7 THEN 52
WHEN DATEPART (dw, du ) = 1 THEN 52
ELSE 24

Насчет дней недели проверь системные установки (загляни в хелп по DATEPART )
а если хочешь еще и праздники учитывать - добавь условий в CASE
...
Рейтинг: 0 / 0
Помогите с запросом
    #32023101
nic_ii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, забыл еще END для CASE-a:
SELECT * FROM Table
WHERE DATEDIFF( hh, dz, du ) > CASE WHEN DATEPART (dw, du ) = 7 THEN 52
WHEN DATEPART (dw, du ) = 1 THEN 52
ELSE 24 END
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Помогите с запросом
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]