如果我已经在一个表中有 MYHOUR 和 STATUS 列,并且只有这两列,我如何创建一个视图来计算 OFF_HOURS 列?OFF_HOURS 列是连续的“关闭”状态编号。谢谢。
MYHOUR STATUS OFF_HOURS
------ -------- --------
1 OFF 1
2 OFF 2
3 ON 0
4 ON 0
5 ON 0
6 ON 0
7 ON 0
8 OFF 1
9 OFF 2
10 OFF 3
11 ON 0
12 ON 0
13 OFF 1
14 OFF 2
15 OFF 3
16 OFF 4
17 OFF 5
18 OFF 6
19 OFF 7
20 OFF 8
21 OFF 9
22 OFF 10
23 OFF 11
24 OFF 12
以下是创建示例表和数据的脚本。
CREATE TABLE Test_Table (
myHour INTEGER,
status VARCHAR2(8));
BEGIN
FOR i IN 1..2
LOOP
INSERT INTO Test_Table VALUES (i, 'OFF');
END LOOP;
FOR i IN 3..7
LOOP
INSERT INTO Test_Table VALUES (i, 'ON');
END LOOP;
FOR i IN 8..10
LOOP
INSERT INTO Test_Table VALUES (i, 'OFF');
END LOOP;
FOR i IN 11..12
LOOP
INSERT INTO Test_Table VALUES (i, 'ON');
END LOOP;
FOR i IN 13..24
LOOP
INSERT INTO Test_Table VALUES (i, 'OFF');
END LOOP;
COMMIT;
END;
/