Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Пересекающиеся даты (работа с интервалами дат) – Отчет по простою  [new]
Baur
Member

Откуда:
Сообщений: 322
Всем привет!

-- Name          Type   
-- INCIDENTID    NUMBER(9)    
-- INCIDENTTYPE  NUMBER(1)                     
-- DEVICEID       NUMBER(9)                     
-- RAISEID         NUMBER(9)                      
-- RAISETIME     DATE                           
-- CLOSEID        NUMBER(9)                     
-- CLOSETIME     DATE                           
-- RAISECODE     NUMBER(9)                     
-- CLOSECODE     NUMBER(9)                      
-- WT1           VARCHAR2(5)          
-- WT2           VARCHAR2(5)          
-- WD1           NUMBER(1)            
-- WD2           NUMBER(1)      


fieldname comments
INCIDENTID инцидент
INCIDENTTYPE 1 – Дата начало инцидента совпадает с началом отчетного периода (реальная дата начало инцидента в предыдущем месяце) 2 - Дата конца инцидента совпадает с концом отчетного периода (реальная дата конца инцидента еще не появился) 3 – Дата начало и конца инцидента в отчетном периоде (Отчетный период 20.03.2011 - 20.04.2011)
ERRORTYPE Тип ошибки
DEVICEID устройство
RAISEID
RAISETIME время начало инцидента
CLOSEID
CLOSETIME время закрытия инцидента
RAISECODE
CLOSECODE
WT1 режим работы [в течении дня] с (work time) 'hh24:mi'
WT2 режим работы до
WD1 рабочие дни с (week day) 'D'
WD2 рабочие дни до



INCIDENTID INCIDENTTYPE ERRORTYPE DEVICEID RAISEID RAISETIME CLOSEID CLOSETIME RAISECODE CLOSECODE WT1 WT2 WD1 WD2
39193 1 3 10 21.03.2011 00:00:00 21419270 16.03.2011 09:05:21 3 00:00 12:00 1 7
39198 1 3 12 21.03.2011 00:00:00 21419409 16.03.2011 09:35:35 3 07:00 12:00 1 7
39203 1 3 17 21.03.2011 00:00:00 21427083 16.03.2011 20:57:34 3 10:00 20:00 1 7
39211 1 3 18 21.03.2011 00:00:00 21426924 16.03.2011 20:48:47 3 00:00 24:00 1 7
39227 1 3 21 21.03.2011 00:00:00 21417203 15.03.2011 20:08:37 3 00:00 24:00 1 7
39232 1 3 22 21.03.2011 00:00:00 21426933 16.03.2011 20:50:10 3 06:00 23:00 1 7
39237 1 3 23 21.03.2011 00:00:00 21430997 17.03.2011 13:07:56 3 00:00 24:00 1 7
39243 1 3 24 21.03.2011 00:00:00 21418561 16.03.2011 02:34:13 3 00:00 24:00 1 7
39251 1 3 25 21.03.2011 00:00:00 21427131 16.03.2011 21:00:23 3 00:00 24:00 1 7
47533 1 3 10 21.03.2011 00:00:00 21419267 16.03.2011 09:05:14 5 00:00 24:00 1 7
47534 1 3 12 21.03.2011 00:00:00 21426921 16.03.2011 20:48:36 5 07:00 12:00 1 7
47535 1 3 17 21.03.2011 00:00:00 21427079 16.03.2011 20:57:28 5 10:00 20:00 1 7
49883 3 4 558 21742207 28.03.2011 10:16:29 21783300 29.03.2011 11:19:03 1141 70 00:00 24:00 1 3
49738 3 4 341 21617136 25.03.2011 15:04:42 21617256 25.03.2011 15:09:26 1141 70 16:00 24:00 1 6
45460 3 1 558 22234826 05.04.2011 09:07:00 22234853 05.04.2011 09:12:01 99 3 00:00 24:00 1 3
45459 3 1 558 22159534 04.04.2011 10:02:04 22159555 04.04.2011 10:04:51 99 3 00:00 24:00 1 3
45458 3 1 558 21782703 29.03.2011 09:47:04 21782846 29.03.2011 10:09:20 99 3 00:00 24:00 1 3
45889 3 1 593 22713887 12.04.2011 15:09:56 22713923 12.04.2011 15:12:43 99 3 00:00 24:00 1 7
45888 3 1 593 22487749 07.04.2011 09:41:19 22487756 07.04.2011 09:41:56 99 3 00:00 24:00 1 7
45887 3 1 593 22294462 05.04.2011 14:49:32 22294497 05.04.2011 14:52:26 99 3 00:00 24:00 1 7
45030 3 1 531 22501800 07.04.2011 17:34:45 22501819 07.04.2011 17:35:22 99 3 00:00 24:00 1 2
45029 3 1 531 22499211 07.04.2011 16:18:11 22499221 07.04.2011 16:19:14 99 3 00:00 24:00 1 2
45028 3 1 531 21742012 28.03.2011 10:15:22 21742044 28.03.2011 10:15:32 99 3 00:00 24:00 1 2
45027 3 1 531 21480526 18.03.2011 20:54:22 21480529 18.03.2011 20:54:49 99 3 00:00 24:00 1 2
45566 2 1 567 22294552 05.04.2011 14:57:08 20.04.2011 00:00:00 99 09:00 19:00 1 7
44774 2 1 508 21803790 30.03.2011 17:23:37 20.04.2011 00:00:00 99 00:00 24:00 1 7
44655 2 1 502 21432011 17.03.2011 15:38:43 20.04.2011 00:00:00 99 00:00 24:00 1 7
45311 2 1 545 21605944 25.03.2011 12:12:22 20.04.2011 00:00:00 99 00:00 24:00 1 7
45091 2 1 539 21482180 19.03.2011 10:10:05 20.04.2011 00:00:00 99 00:00 24:00 1 7
43821 2 1 447 21831551 31.03.2011 12:30:05 20.04.2011 00:00:00 99 16:00 21:00 1 7
42560 2 1 347 22754605 13.04.2011 22:53:16 20.04.2011 00:00:00 99 00:00 24:00 1 7
43218 2 1 409 22517326 08.04.2011 09:21:23 20.04.2011 00:00:00 99 00:00 24:00 1 7
41464 2 1 235 21579121 24.03.2011 10:05:28 20.04.2011 00:00:00 99 15:00 23:00 1 7
40592 2 3 567 22696942 12.04.2011 01:13:51 20.04.2011 00:00:00 2 09:00 19:00 1 7
40469 2 3 545 21620110 25.03.2011 23:30:48 20.04.2011 00:00:00 2 00:00 24:00 1 7
40432 2 3 539 21578813 24.03.2011 10:03:01 20.04.2011 00:00:00 2 00:00 24:00 1 7


Задача стандартная, надо посчитать время (в секундах) простоя устройств в разрезе DEVICEID - устройство и ERRORTYPE - Тип ошибки.

1. С учетом выходных, для каждого устройства свое.
2. С учетом рабочего дня, тоже для каждого устройства свое.
3. С учетом пересекающихся дат (пересекающиеся интервалы).

Результат
№ устройство Тип ошибки -1 (кол-во) Тип ошибки -1 (время) Тип ошибки -2 (кол-во) Тип ошибки -2 (время)
110 52 3546 156 454545
111 24 546 77 4145


Текущая база Oracle9i (желательно скрипт был совместим с 10g и высшее)
21 апр 11, 10:37    [10545906]     Ответить | Цитировать Сообщить модератору
 Re: Пересекающиеся даты (работа с интервалами дат) – Отчет по простою  [new]
Baur
Member

Откуда:
Сообщений: 322
1. С учетом выходных, для каждого устройства свое.

1.1
Если промежуток TO_CHAR(RAISETIME,'D') и TO_CHAR(CLOSETIME,'D') не попадает WD1 и WD2 то исключить запись, то есть не учитывать ошибки в нерабочие дни [где ххх - не учитывать]
(RAISETIME ххх CLOSETIME WD1 … WD2  RAISETIME ххх CLOSETIME) 

1.2

Если промежуток RAISETIME < WD1 и WD1 < CLOSETIME < WD2
Инцидент появился в выходные дни и закончился после, то не учитывать время простоя в промежутке RAISETIME и WD1
 (RAISETIME  ххх WD1 … CLOSETIME  WD2) 

1.3
Если промежуток RAISETIME > WD1 и WD1 < CLOSETIME < WD2
Инцидент появился до выходных и закончился в выходные дни, то не учитывать время простоя в промежутке WD2 и CLOSETIME
(WD 1  RAISETIME … WD2 ххх CLOSETIME) 

1.4
Это наверное самый сложный момент
Если между RAISETIME и CLOSETIME несколько недель то все выходные дни не учитывать
(RAISETIME  WD1  ххх WD2 WD1  ххх WD2 WD1  ххх WD2 CLOSETIME)
21 апр 11, 10:37    [10545910]     Ответить | Цитировать Сообщить модератору
 Re: Пересекающиеся даты (работа с интервалами дат) – Отчет по простою  [new]
Baur
Member

Откуда:
Сообщений: 322
2. С учетом рабочего дня, для каждого устройства свое [b]WT1 … WT2.[/b]

2.1
Если TO_CHAR(RAISETIME,'HH24:MI') и TO_CHAR(CLOSETIME,'HH24:MI') не попадает в промежуток WT1 и WT2 то исключить запись (в течении дня 00:00 - 24:00)
(RAISETIME ххх CLOSETIME  WT1 … WT2  RAISETIME ххх CLOSETIME) 

2.2
Если инцидент появился до начало рабочего дня и закончился после,
RAISETIME > WТ1 и WТ1 < CLOSETIME < WТ2
то не учитывать время простоя в промежутке RAISETIME - WТ1 (в течении дня)
(RAISETIME  ххх  WТ1 … CLOSETIME  WТ2) 

2.3
Если инцидент появился во время рабочего дня и закончился после
промежуток WТ1 < RAISETIME < WТ2 и WТ2 < CLOSETIME ,
то не учитывать время простоя в промежутке WТ2 – CLOSETIME (в течении дня)
(WТ1  RAISETIME … WТ2 ххх CLOSETIME) 

2.4
Если между RAISETIME и CLOSETIME несколько дней то все нерабочие часы не учитывать
(RAISETIME  WТ1 xxx WТ2  WТ1 xxx WТ2  WТ1 xxx WТ2 CLOSETIME) 
21 апр 11, 10:38    [10545911]     Ответить | Цитировать Сообщить модератору
 Re: Пересекающиеся даты (работа с интервалами дат) – Отчет по простою  [new]
Baur
Member

Откуда:
Сообщений: 322
3. С учетом пересекающихся дат (пересекающиеся интервалы).
И наконец, самое главное - Исключить пересекающиеся даты в разрезе DEVICEID, RAISECODE.
То есть если в течения дня (может несколько дней) в одном устройстве одновременно или чуть раньше или чуть позже появился разные ошибки, то не учитывать пересекающиеся промежутки времени.

3.1
RAISETIME1 > RAISETIME2 и RAISETIME1 < CLOSETIME2 < CLOSETIME1 то не учитывать время простоя в промежутке RAISETIME2 - CLOSETIME2
но, здесь немножко по другому, если 1 и 2 ом условии не учитывали не рабочие дни и часы в промежутке то здесь – ошибки в промежутке RAISETIME1 и CLOSETIME1 не учитывается но RAISETIME2 и CLOSETIME2 учитывать полностью

(RAISETIME1 … RAISETIME2 ххх CLOSETIME2 ... CLOSETIME1)
даже если их несколько
(RAISETIME1 … RAISETIME2 ххх CLOSETIME2 ... RAISETIME3 ххх CLOSETIME3  RAISETIME4 ххх CLOSETIME4 CLOSETIME1)

3.2
RAISETIME1 > RAISETIME2 и RAISETIME1 < CLOSETIME1 < CLOSETIME2 то не учитывать время простоя в промежутке RAISETIME2 и CLOSETIME1 но RAISETIME1 и CLOSETIME2 учитывать полностью
(RAISETIME1 … RAISETIME2 ххх CLOSETIME1 .. CLOSETIME2)
21 апр 11, 10:39    [10545917]     Ответить | Цитировать Сообщить модератору
 Re: Пересекающиеся даты (работа с интервалами дат) – Отчет по простою  [new]
Baur
Member

Откуда:
Сообщений: 322
Надеюсь, что ничего не спутал и ничего не пропустил
порядок выполнения не обязательно. Смотря, как удобнее будет …
можно даже реализовать по отдельности (1 отдельно, 2 отдельно, 3 отдельно)


Результат примерно

№ устройство Тип ошибки -1 (кол-во) Тип ошибки -1 (время) Тип ошибки -2 (кол-во) Тип ошибки -2 (время)
110 52 3546 156 454545
111 24 546 77 4145
21 апр 11, 10:39    [10545920]     Ответить | Цитировать Сообщить модератору
 Re: Пересекающиеся даты (работа с интервалами дат) – Отчет по простою  [new]
Baur
Member

Откуда:
Сообщений: 322
CLEAR;
WITH T AS (SELECT 39193 AS INCIDENTID,
       1 AS INCIDENTTYPE,
       3 AS ERRORTYPE,
       10 AS DEVICEID,
       NULL AS RAISEID,
       '21.03.2011 00:00:00' AS RAISETIME,
       21419270 AS CLOSEID,
       '16.03.2011 09:05:21' AS CLOSETIME,
       NULL AS RAISECODE,
       3 AS CLOSECODE,
       '00:00' AS WT1,
       '12:00' AS WT2,
       1 AS WD1,
       7 AS WD2
  FROM dual union all
select 39198, 1,  3,  12,  null,      '21.03.2011 00:00:00', 21419409,  '16.03.2011 09:35:35', null,  3,    '07:00',  '12:00',  1, 7  from dual union all
select 39203, 1,  3,  17,  null,      '21.03.2011 00:00:00', 21427083,  '16.03.2011 20:57:34', null,  3,    '10:00',  '20:00',  1, 7  from dual union all
select 39211, 1,  3,  18,  null,      '21.03.2011 00:00:00', 21426924,  '16.03.2011 20:48:47', null,  3,    '00:00',  '24:00',  1, 7  from dual union all
select 39227, 1,  3,  21,  null,      '21.03.2011 00:00:00', 21417203,  '15.03.2011 20:08:37', null,  3,    '00:00',  '24:00',  1, 7  from dual union all
select 39232, 1,  3,  22,  null,      '21.03.2011 00:00:00', 21426933,  '16.03.2011 20:50:10', null,  3,    '06:00',  '23:00',  1, 7  from dual union all
select 39237, 1,  3,  23,  null,      '21.03.2011 00:00:00', 21430997,  '17.03.2011 13:07:56', null,  3,    '00:00',  '24:00',  1, 7  from dual union all
select 39243, 1,  3,  24,  null,      '21.03.2011 00:00:00', 21418561,  '16.03.2011 02:34:13', null,  3,    '00:00',  '24:00',  1, 7  from dual union all
select 39251, 1,  3,  25,  null,      '21.03.2011 00:00:00', 21427131,  '16.03.2011 21:00:23', null,  3,    '00:00',  '24:00',  1, 7  from dual union all
select 47533, 1,  3,  10,  null,      '21.03.2011 00:00:00', 21419267,  '16.03.2011 09:05:14', null,  5,    '00:00',  '24:00',  1, 7  from dual union all
select 47534, 1,  3,  12,  null,      '21.03.2011 00:00:00', 21426921,  '16.03.2011 20:48:36', null,  5,    '07:00',  '12:00',  1, 7  from dual union all
select 47535, 1,  3,  17,  null,      '21.03.2011 00:00:00', 21427079,  '16.03.2011 20:57:28', null,  5,    '10:00',  '20:00',  1, 7  from dual union all
select 49883, 3,  4,  558, 21742207,  '28.03.2011 10:16:29', 21783300,  '29.03.2011 11:19:03', 1141,  70,   '00:00',  '24:00',  1, 3  from dual union all
select 49738, 3,  4,  341, 21617136,  '25.03.2011 15:04:42', 21617256,  '25.03.2011 15:09:26', 1141,  70,   '16:00',  '24:00',  1, 6  from dual union all
select 45460, 3,  1,  558, 22234826,  '05.04.2011 09:07:00', 22234853,  '05.04.2011 09:12:01', 99,    3,    '00:00',  '24:00',  1, 3  from dual union all
select 45459, 3,  1,  558, 22159534,  '04.04.2011 10:02:04', 22159555,  '04.04.2011 10:04:51', 99,    3,    '00:00',  '24:00',  1, 3  from dual union all
select 45458, 3,  1,  558, 21782703,  '29.03.2011 09:47:04', 21782846,  '29.03.2011 10:09:20', 99,    3,    '00:00',  '24:00',  1, 3  from dual union all
select 45889, 3,  1,  593, 22713887,  '12.04.2011 15:09:56', 22713923,  '12.04.2011 15:12:43', 99,    3,    '00:00',  '24:00',  1, 7  from dual union all
select 45888, 3,  1,  593, 22487749,  '07.04.2011 09:41:19', 22487756,  '07.04.2011 09:41:56', 99,    3,    '00:00',  '24:00',  1, 7  from dual union all
select 45887, 3,  1,  593, 22294462,  '05.04.2011 14:49:32', 22294497,  '05.04.2011 14:52:26', 99,    3,    '00:00',  '24:00',  1, 7  from dual union all
select 45030, 3,  1,  531, 22501800,  '07.04.2011 17:34:45', 22501819,  '07.04.2011 17:35:22', 99,    3,    '00:00',  '24:00',  1, 2  from dual union all
select 45029, 3,  1,  531, 22499211,  '07.04.2011 16:18:11', 22499221,  '07.04.2011 16:19:14', 99,    3,    '00:00',  '24:00',  1, 2  from dual union all
select 45028, 3,  1,  531, 21742012,  '28.03.2011 10:15:22', 21742044,  '28.03.2011 10:15:32', 99,    3,    '00:00',  '24:00',  1, 2  from dual union all
select 45027, 3,  1,  531, 21480526,  '18.03.2011 20:54:22', 21480529,  '18.03.2011 20:54:49', 99,    3,    '00:00',  '24:00',  1, 2  from dual union all
select 45566, 2,  1,  567, 22294552,  '05.04.2011 14:57:08', null,      '20.04.2011 00:00:00', 99,    null, '09:00',  '19:00',  1, 7  from dual union all
select 44774, 2,  1,  508, 21803790,  '30.03.2011 17:23:37', null,      '20.04.2011 00:00:00', 99,    null, '00:00',  '24:00',  1, 7  from dual union all
select 44655, 2,  1,  502, 21432011,  '17.03.2011 15:38:43', null,      '20.04.2011 00:00:00', 99,    null, '00:00',  '24:00',  1, 7  from dual union all
select 45311, 2,  1,  545, 21605944,  '25.03.2011 12:12:22', null,      '20.04.2011 00:00:00', 99,    null, '00:00',  '24:00',  1, 7  from dual union all
select 45091, 2,  1,  539, 21482180,  '19.03.2011 10:10:05', null,      '20.04.2011 00:00:00', 99,    null, '00:00',  '24:00',  1, 7  from dual union all
select 43821, 2,  1,  447, 21831551,  '31.03.2011 12:30:05', null,      '20.04.2011 00:00:00', 99,    null, '16:00',  '21:00',  1, 7  from dual union all
select 42560, 2,  1,  347, 22754605,  '13.04.2011 22:53:16', null,      '20.04.2011 00:00:00', 99,    null, '00:00',  '24:00',  1, 7  from dual union all
select 43218, 2,  1,  409, 22517326,  '08.04.2011 09:21:23', null,      '20.04.2011 00:00:00', 99,    null, '00:00',  '24:00',  1, 7  from dual union all
select 41464, 2,  1,  235, 21579121,  '24.03.2011 10:05:28', null,      '20.04.2011 00:00:00', 99,    null, '15:00',  '23:00',  1, 7  from dual union all
select 40592, 2,  3,  567, 22696942,  '12.04.2011 01:13:51', null,      '20.04.2011 00:00:00', 2,     null, '09:00',  '19:00',  1, 7  from dual union all
select 40469, 2,  3,  545, 21620110,  '25.03.2011 23:30:48', null,      '20.04.2011 00:00:00', 2,     null, '00:00',  '24:00',  1, 7  from dual union all
select 40432, 2,  3,  539, 21578813,  '24.03.2011 10:03:01', null,      '20.04.2011 00:00:00', 2,     null, '00:00',  '24:00',  1, 7  from dual),
TT AS (SELECT INCIDENTID, 
       INCIDENTTYPE, 
       ERRORTYPE, 
       DEVICEID, 
       RAISEID, 
       RAISETIME, 
       CLOSEID, 
       CLOSETIME, 
       RAISECODE, 
       CLOSECODE, 
       WT1, 
       WT2,
       WD1, 
       WD2
  FROM T)
SELECT * FROM TT;  

21 апр 11, 10:41    [10545932]     Ответить | Цитировать Сообщить модератору
 Re: Пересекающиеся даты (работа с интервалами дат) – Отчет по простою  [new]
Elic
Member

Откуда:
Сообщений: 29976
Baur
можно даже реализовать по отдельности (1 отдельно, 2 отдельно, 3 отдельно)
Какова оплата по каждому пункту?
21 апр 11, 10:43    [10545945]     Ответить | Цитировать Сообщить модератору
 Re: Пересекающиеся даты (работа с интервалами дат) – Отчет по простою  [new]
Baur
Member

Откуда:
Сообщений: 322
Elic
Baur
можно даже реализовать по отдельности (1 отдельно, 2 отдельно, 3 отдельно)
Какова оплата по каждому пункту?


)))

ну, я не предлагаю все сделать за меня,
пожалуйста, посоветуйте, может есть стандартные аналитические функции, хотя бы подсказки - просто сроки сжимает.

кстати это по сути продолжение темыhttps://www.sql.ru/forum/actualthread.aspx?tid=840140
который вы здорово помогли )))
21 апр 11, 10:51    [10545983]     Ответить | Цитировать Сообщить модератору
 Re: Пересекающиеся даты (работа с интервалами дат) – Отчет по простою  [new]
Baur
Member

Откуда:
Сообщений: 322
автор
3. С учетом пересекающихся дат (пересекающиеся интервалы).
И наконец, самое главное - Исключить пересекающиеся даты в разрезе DEVICEID, RAISECODE.
То есть если в течения дня (может несколько дней) в одном устройстве одновременно или чуть раньше или чуть позже появился разные ошибки, то не учитывать пересекающиеся промежутки времени.


Пардон,
Не в разрезе DEVICEID и RAISECODE.
а в разрезе только DEVICEID а уже RAISECODE может отличаться, потому что не важно какие ошибки, главное устройство не работает
21 апр 11, 10:58    [10546038]     Ответить | Цитировать Сообщить модератору
 Re: Пересекающиеся даты (работа с интервалами дат) – Отчет по простою  [new]
Baur
Member

Откуда:
Сообщений: 322
Обновляю пример, чтобы охватить все условия

CLEAR;
WITH T AS (SELECT 39193 AS INCIDENTID,
1 AS INCIDENTTYPE,
3 AS ERRORTYPE,
10 AS DEVICEID,
NULL AS RAISEID,
'21.03.2011 00:00:00' AS RAISETIME,
21419270 AS CLOSEID,
'16.03.2011 09:05:21' AS CLOSETIME,
NULL AS RAISECODE,
3 AS CLOSECODE,
'00:00' AS WT1,
'12:00' AS WT2,
1 AS WD1,
7 AS WD2
FROM dual union all
select 39198, 1, 3, 12, null, '21.03.2011 00:00:00', 21419409, '21.03.2011 09:35:35', null, 3, '10:00', '12:00', 1, 7 from dual union all
select 39203, 1, 3, 17, null, '21.03.2011 00:00:00', 21427083, '21.03.2011 20:57:34', null, 3, '10:00', '20:00', 1, 7 from dual union all
select 39211, 1, 3, 18, null, '21.03.2011 00:00:00', 21426924, '16.03.2011 20:48:47', null, 3, '00:00', '24:00', 1, 7 from dual union all
select 39227, 1, 3, 21, null, '21.03.2011 00:00:00', 21417203, '15.03.2011 20:08:37', null, 3, '00:00', '24:00', 1, 7 from dual union all
select 39232, 1, 3, 22, null, '21.03.2011 00:00:00', 21426933, '16.03.2011 20:50:10', null, 3, '06:00', '23:00', 1, 7 from dual union all
select 39237, 1, 3, 23, null, '21.03.2011 00:00:00', 21430997, '17.03.2011 13:07:56', null, 3, '00:00', '24:00', 1, 7 from dual union all
select 39243, 1, 3, 24, null, '21.03.2011 00:00:00', 21418561, '16.03.2011 02:34:13', null, 3, '00:00', '24:00', 1, 7 from dual union all
select 39251, 1, 3, 10, null, '21.03.2011 00:00:00', 21427131, '16.03.2011 21:00:23', null, 3, '08:00', '18:00', 1, 7 from dual union all
select 47533, 1, 3, 10, null, '21.03.2011 00:00:00', 21419267, '16.03.2011 09:05:14', null, 5, '08:00', '18:00', 1, 7 from dual union all
select 47534, 1, 3, 12, null, '21.03.2011 00:00:00', 21426921, '16.03.2011 20:48:36', null, 5, '07:00', '12:00', 1, 7 from dual union all
select 47535, 1, 3, 17, null, '21.03.2011 00:00:00', 21427079, '16.03.2011 20:57:28', null, 5, '10:00', '20:00', 1, 7 from dual union all
select 49883, 3, 4, 558, 21742207, '28.03.2011 10:16:29', 21783300, '29.03.2011 11:19:03', 1141, 70, '00:00', '24:00', 1, 3 from dual union all
select 49738, 3, 4, 341, 21617136, '25.03.2011 18:04:42', 21617256, '25.03.2011 19:09:26', 1141, 70, '09:00', '18:00', 1, 6 from dual union all
select 45460, 3, 1, 558, 22234826, '05.04.2011 09:07:00', 22234853, '05.04.2011 09:12:01', 99, 3, '00:00', '24:00', 1, 3 from dual union all
select 45459, 3, 1, 558, 22159534, '04.04.2011 10:02:04', 22159555, '04.04.2011 10:04:51', 99, 3, '00:00', '24:00', 1, 3 from dual union all
select 45458, 3, 1, 558, 21782703, '29.03.2011 09:47:04', 21782846, '29.03.2011 10:09:20', 99, 3, '00:00', '24:00', 1, 3 from dual union all
select 45889, 3, 1, 593, 22713887, '12.04.2011 15:09:56', 22713923, '12.04.2011 15:12:43', 99, 3, '00:00', '24:00', 1, 7 from dual union all
select 45888, 3, 1, 593, 22487749, '07.04.2011 09:41:19', 22487756, '07.04.2011 09:41:56', 99, 3, '00:00', '24:00', 1, 7 from dual union all
select 45887, 3, 1, 593, 22294462, '05.04.2011 14:49:32', 22294497, '05.04.2011 14:52:26', 99, 3, '00:00', '24:00', 1, 7 from dual union all
select 45030, 3, 1, 531, 22501800, '07.04.2011 17:34:45', 22501819, '07.04.2011 17:35:22', 99, 3, '00:00', '24:00', 1, 2 from dual union ALL
select 55459, 1, 1, 100, 32159534, '04.04.2011 06:02:04', 32159555, '04.04.2011 10:04:51', 99, 3, '09:00', '18:00', 1, 5 from dual union all
select 55458, 3, 1, 100, 31782703, '04.04.2011 08:47:04', 31782846, '04.03.2011 10:09:20', 511, 3, '09:00', '18:00', 1, 5 from dual union all
select 55889, 3, 1, 100, 32713887, '04.04.2011 15:09:56', 32713923, '04.04.2011 16:12:43', 635, 5, '09:00', '18:00', 1, 5 from dual union all
select 55888, 4, 1, 100, 32487749, '04.04.2011 15:30:19', 32487756, '04.04.2011 17:41:56', 1099, 70, '09:00', '18:00', 1, 5 from dual union all
select 55887, 4, 1, 100, 32294462, '04.04.2011 14:49:32', 32294497, '04.04.2011 20:52:26', 1302, 70, '09:00', '18:00', 1, 5 from dual union ALL
select 56887, 4, 1, 100, 42294462, '10.04.2011 09:49:32', 42294497, '10.04.2011 14:52:26', 1141, 70, '09:00', '18:00', 1, 5 from dual union ALL
select 66887, 4, 1, 100, 42294463, '10.04.2011 09:49:32', 42294499, '13.04.2011 11:12:22', 1183, 70, '09:00', '18:00', 1, 5 from dual union ALL
select 66888, 4, 1, 100, 42294464, '07.04.2011 09:49:32', 42294500, '10.04.2011 09:12:22', 1183, 70, '09:00', '18:00', 1, 5 from dual union all
select 45029, 3, 1, 531, 22499211, '07.04.2011 16:18:11', 22499221, '07.04.2011 16:19:14', 99, 3, '00:00', '24:00', 1, 2 from dual union all
select 45028, 3, 1, 531, 21742012, '28.03.2011 10:15:22', 21742044, '28.03.2011 10:15:32', 99, 3, '00:00', '24:00', 1, 2 from dual union all
select 45027, 3, 1, 531, 21480526, '18.03.2011 20:54:22', 21480529, '18.03.2011 20:54:49', 99, 3, '00:00', '24:00', 1, 2 from dual union ALL
select 55027, 3, 1, 100, 51480526, '22.03.2011 20:54:22', 51480529, '18.04.2011 20:54:49', 99, 3, '09:00', '19:00', 1, 5 from dual union ALL
select 45566, 2, 1, 567, 22294552, '05.04.2011 14:57:08', null, '20.04.2011 00:00:00', 99, null, '09:00', '19:00', 1, 7 from dual union all
select 44774, 2, 1, 508, 21803790, '30.03.2011 17:23:37', null, '20.04.2011 00:00:00', 99, null, '00:00', '24:00', 1, 7 from dual union all
select 44655, 2, 1, 502, 21432011, '17.03.2011 15:38:43', null, '20.04.2011 00:00:00', 99, null, '00:00', '24:00', 1, 7 from dual union all
select 45311, 2, 1, 545, 21605944, '25.03.2011 12:12:22', null, '20.04.2011 00:00:00', 99, null, '00:00', '24:00', 1, 7 from dual union all
select 45091, 2, 1, 539, 21482180, '19.03.2011 10:10:05', null, '20.04.2011 00:00:00', 99, null, '00:00', '24:00', 1, 7 from dual union all
select 43821, 2, 1, 447, 21831551, '31.03.2011 12:30:05', null, '20.04.2011 00:00:00', 99, null, '16:00', '21:00', 1, 7 from dual union all
select 42560, 2, 1, 347, 22754605, '13.04.2011 22:53:16', null, '20.04.2011 00:00:00', 99, null, '00:00', '24:00', 1, 7 from dual union all
select 43218, 2, 1, 409, 22517326, '08.04.2011 09:21:23', null, '20.04.2011 00:00:00', 99, null, '00:00', '24:00', 1, 7 from dual union all
select 41464, 2, 1, 235, 21579121, '24.03.2011 10:05:28', null, '20.04.2011 00:00:00', 99, null, '09:00', '19:00', 1, 7 from dual union all
select 40592, 2, 3, 235, 22696942, '12.04.2011 01:13:51', null, '20.04.2011 00:00:00', 2, null, '09:00', '19:00', 1, 7 from dual union all
select 40469, 2, 3, 545, 21620110, '25.03.2011 23:30:48', null, '20.04.2011 00:00:00', 2, null, '00:00', '24:00', 1, 7 from dual union all
select 40432, 2, 3, 539, 21578813, '20.04.2011 10:03:01', null, '20.04.2011 00:00:00', 2, null, '00:00', '24:00', 1, 2 from dual),
TT AS (SELECT INCIDENTID,
INCIDENTTYPE,
ERRORTYPE,
DEVICEID,
RAISEID,
RAISETIME,
CLOSEID,
CLOSETIME,
RAISECODE,
CLOSECODE,
WT1,
WT2,
WD1,
WD2
FROM T)
SELECT * FROM tt;
21 апр 11, 16:13    [10548760]     Ответить | Цитировать Сообщить модератору
 Re: Пересекающиеся даты (работа с интервалами дат) – Отчет по простою  [new]
Baur
Member

Откуда:
Сообщений: 322
люди, помогите хотя бы с третьим пунктом
21 апр 11, 16:16    [10548785]     Ответить | Цитировать Сообщить модератору
 Re: Пересекающиеся даты (работа с интервалами дат) – Отчет по простою  [new]
Elic
Member

Откуда:
Сообщений: 29976
Baur
люди, помогите хотя бы с третьим пунктом
Воспользуйся поиском.
21 апр 11, 16:20    [10548812]     Ответить | Цитировать Сообщить модератору
 Re: Пересекающиеся даты (работа с интервалами дат) – Отчет по простою  [new]
Baur
Member

Откуда:
Сообщений: 322
Elic
Baur
люди, помогите хотя бы с третьим пунктом
Воспользуйся поиском.


я почти нашел то что искал
http://www.geocities.jp/oraclesqlpuzzle/5-65.html

только как переделать запрос чтобы он сработал в точности до сек. (запрос округляет даты)

или
как добавить поле ID для
http://www.geocities.jp/oraclesqlpuzzle/9-3.html
кроме > 10g (у меня Oracle9i)
???

прошу помочь!!!
18 авг 11, 16:24    [11140830]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить