Форум программистов, компьютерный форум, киберфорум
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
6 / 6 / 1
Регистрация: 13.12.2015
Сообщений: 398

Расчет дополнительных параметров

02.04.2018, 00:02. Показов 1974. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем ,привет.
Есть таблица, которая содержит информацию о работе станка. Нужно рассчитать дополнительные параметры.
Исходник, содержит общую информацию о работе. Необходимо данное время разбить по дням:
Исходник:
SQL
1
2
Номер  Тип  Модель    Состояние  Дата начала   Дата окончания
123 10078   АААА    НЕРАБ. ВРЕМЯ  31.12.17 22:00:01   01.01.18 09:00:02
Необходимо:
SQL
1
2
3
Номер  Тип  Модель    Состояние  Дата начала   Дата окончания
123 10078   АААА    НЕРАБ. ВРЕМЯ  31.12.17 22:00:01   31.12.17 23:59:59
123 10078   АААА    НЕРАБ. ВРЕМЯ  01.01.18 00:00:00   01.01.18 09:00:02
Подскажите как....

P/S Информация о работе может быть и больше, чем один день
31.12.17 22:00:01 01.01.18 09:00:02
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
02.04.2018, 00:02
Ответы с готовыми решениями:

ibm db2 расчёт производных параметров
Всем привет. Появилась интересная задачка - можно ли както в idm db2 посчитать параметры, используя данные из этогоже запроса - к примеру...

DataTables - использование дополнительных параметров
Кто пользуется плагином https://www.datatables.net/, поделитесь настройками, которые используете, чтобы например избежать вот такого...

Добавление дополнительных параметров в GET запрос
Доброго времени суток. Не понимаю как сделать добавление параметров к уже имеющемуся запросу: $queryString = $_SERVER;//получаю уже...

6
4 / 4 / 3
Регистрация: 03.02.2017
Сообщений: 27
02.04.2018, 13:01
Не могу быть до конца уверен, что данного функционала в ms sql нет.
Но тем не менее предлагаю самостоятельно написать функцию, возвращающую табличное значение, с циклом.

Пример:
T-SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
CREATE FUNCTION [dbo].[MyFunction]
(
@DateBegin datetime, 
@DateEnd datetime
) returns 
    @Result table (Date1 datetime, Date2 datetime)
as begin
 
Declare @CountDay int = Datediff(dd, @DateBegin, @DateEnd)+1
Declare @Date2 datetime
 
While @CountDay>0
    Begin
    If @CountDay=1
        Set @Date2=@DateEnd
    Else
        Select @Date2=convert( varchar(10), @DateBegin, 120)+' 23:59:59'
 
    Insert into @Result (Date1, Date2)
    Values (@DateBegin, @Date2)
    
    Select @CountDay-=1, 
        @DateBegin=convert( varchar(10), @DateBegin+1, 120)+' 00:00:00'
    
    End
 
Return
end
 
GO
 
Select [Номер],   [Тип Модель],  [Состояние],  [Дата начала]=b.Date1 ,[Дата окончания] =b.Date2
    from MyTable a 
        join [dbo].[MyFunction]('2017-12-31 22:00:01.000', '2018-01-01 09:00:02.000') b on 1=1
P.S. MyTable -- это ваша таблица.
0
1116 / 761 / 183
Регистрация: 27.11.2009
Сообщений: 2,272
02.04.2018, 13:26
Лучший ответ Сообщение было отмечено pincet как решение

Решение

Надо просто создать и заполнить постоянную таблицу-календарь с датами от, например, '19000101' до '20991231'.
Или сделать и заполнить таблицу с целыми последовательными числами (из неё очень просто получить последовательные даты).

После этого решение задачи станет тривиальным.
И самым производительным, ибо никакие циклы и рекурсии не понадобятся.
0
4 / 4 / 3
Регистрация: 03.02.2017
Сообщений: 27
02.04.2018, 17:27
Цитата Сообщение от iap Посмотреть сообщение
Надо просто создать и заполнить постоянную таблицу-календарь с датами от, например, '19000101' до '20991231'.
Если у вас большой сервер и наплевать на его засерание, то вариант хороший. Не надо будет писать дополнительные функции.
0
1116 / 761 / 183
Регистрация: 27.11.2009
Сообщений: 2,272
02.04.2018, 19:20
Цитата Сообщение от Prorok_75 Посмотреть сообщение
Если у вас большой сервер и наплевать на его засерание, то вариант хороший. Не надо будет писать дополнительные функции.
И сколько же, по-вашему, места займёт такая таблица?
0
4 / 4 / 3
Регистрация: 03.02.2017
Сообщений: 27
04.04.2018, 09:26
Цитата Сообщение от iap Посмотреть сообщение
Цитата Сообщение от Prorok_75 Посмотреть сообщение
Если у вас большой сервер и наплевать на его засерание, то вариант хороший. Не надо будет писать дополнительные функции.
И сколько же, по-вашему, места займёт такая таблица?
Такая таблица весить будет не шибко много (думаю ).
Но с таким отношением, будет очень много таких небольших таблиц, что приведёт к засеранию базы не только в плане места, но и в плане кол-ва таблиц.
0
5971 / 4547 / 1094
Регистрация: 29.08.2013
Сообщений: 28,168
Записей в блоге: 3
04.04.2018, 09:49
Цитата Сообщение от Prorok_75 Посмотреть сообщение
что приведёт к засеранию базы не только в плане места, но и в плане кол-ва таблиц.
что значит эта фраза?

куча мелких таблиц вряд ли займет места больше 10 мегабайт
количество таблиц? если это справочники, которые нужны для работы, то пусть их будет какой угодно количество
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.04.2018, 09:49
Помогаю со студенческими работами здесь

Передача дополнительных параметров вместе с файлом
Я передаю файл с помощью ajax. Как передать ещё дополнительную информацию например текст? Обычно я это делаю вот так, через параметр data...

Простое уравнение с корнем без дополнительных параметров
Как решить простое уравнение, содержащее лишь корень целой степени? При попытке получаю лишь пустые скобки в ответе: Solve + 2 == 0, x] ...

Перезагрузка Windows с переходом в меню дополнительных параметров загрузки
Подскажите пожалуйста код батника для перезагрузки Windows 8.1 с переходом в особые варианты загрузки для восстановления. За пол дня поиска...

Передача дополнительных параметров в обработчик WndProc через свой класс функциями Get/SetWindowLong
Все доброго здоровья. Задумываю для себя небольшое удобство в виде разработки классов (формы-контролы), однако столкнулся с такой...

Расчет параметров
Доброго времени суток,товарищи помогите пожалуйста, у меня есть 20 районов по 40 человек, в каждом районе будет стоять шлюз безопасности, и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru