167 lines
2.9 KiB
Markdown
167 lines
2.9 KiB
Markdown
|
|
||
|
|
||
|
-- 제외대상
|
||
|
```
|
||
|
|
||
|
1.
|
||
|
.+[Send Packet].+null\$.+
|
||
|
|
||
|
2.
|
||
|
^((?!(?=.*[Send Packet])(?=.*null\$)).)*$
|
||
|
|
||
|
3.
|
||
|
\n\n -> \n
|
||
|
|
||
|
4.
|
||
|
[0-9]+:
|
||
|
|
||
|
5.
|
||
|
: -> \t
|
||
|
|
||
|
6.
|
||
|
null\$925->null\t\$925
|
||
|
|
||
|
|
||
|
```
|
||
|
|
||
|
|
||
|
|
||
|
```SQL
|
||
|
UPDATE tmp_gmtstd_log_ex
|
||
|
SET log_gbn = trim(LOG_GBN)
|
||
|
|
||
|
ALTER TABLE tmp_gmtstd_log ADD PRIMARY KEY (packet);
|
||
|
|
||
|
|
||
|
-- 각 컬럼 공백 제거
|
||
|
UPDATE TMP_GMTSTD_LOG_EX
|
||
|
SET LOG_DATE = trim(LOG_DATE)
|
||
|
, LOG_GBN = trim(LOG_GBN)
|
||
|
, LOG_DESC = trim(LOG_DESC)
|
||
|
, PACKET = trim(PACKET)
|
||
|
|
||
|
|
||
|
-- 제외할 패킷 이동
|
||
|
INSERT INTO TMP_GMTSTD_LOG_ex_ETC
|
||
|
SELECT *
|
||
|
FROM tmp_gmtstd_log_etc
|
||
|
WHERE LOG_DESC <> '[Send Packet (D-MFHF -> FSO)]'
|
||
|
|
||
|
|
||
|
-- 제외할 패킷 삭제
|
||
|
delete
|
||
|
FROM tmp_gmtstd_log_etc
|
||
|
WHERE LOG_DESC <> '[Send Packet (D-MFHF -> FSO)]'
|
||
|
|
||
|
|
||
|
-- 제외대상 패킷 확인
|
||
|
SELECT *
|
||
|
FROM TMP_GMTSTD_LOG_ex tgl
|
||
|
WHERE NOT EXISTS (
|
||
|
SELECT 'o' FROM TMP_GMTSTD_LOG tgle WHERE PACKET = tgl.PACKET )
|
||
|
ORDER BY 1 DESC
|
||
|
|
||
|
|
||
|
-- 제외대상 패킷 제거
|
||
|
delete
|
||
|
FROM TMP_GMTSTD_LOG tgl
|
||
|
WHERE EXISTS (
|
||
|
SELECT 'o' FROM TMP_GMTSTD_LOG_EX tgle WHERE PACKET = tgl.PACKET )
|
||
|
|
||
|
-- 중복 패킷 확인 6813 + 150 + 62
|
||
|
SELECT PACKET
|
||
|
FROM tmp_gmtstd_log
|
||
|
GROUP BY PACKET
|
||
|
HAVING count(PACKET) > 1
|
||
|
|
||
|
|
||
|
-- 중복패킷 제거 작업용 임시테이블
|
||
|
CREATE TABLE tmp_maxpacket AS
|
||
|
SELECT max(rowid) AS p_id, PACKET
|
||
|
FROM tmp_gmtstd_log
|
||
|
GROUP BY PACKET
|
||
|
HAVING count(PACKET) > 1
|
||
|
|
||
|
or
|
||
|
|
||
|
TRUNCATE TABLE tmp_maxpacket
|
||
|
|
||
|
-- 임시테이블에 중복 패킷 저장
|
||
|
INSERT INTO tmp_maxpacket
|
||
|
SELECT max(rowid) AS p_id, PACKET
|
||
|
FROM tmp_gmtstd_log_etc
|
||
|
GROUP BY PACKET
|
||
|
HAVING count(PACKET) > 1
|
||
|
|
||
|
-- 중복패킷 제거
|
||
|
DELETE
|
||
|
FROM TMP_GMTSTD_LOG tgl
|
||
|
WHERE PACKET IN (
|
||
|
SELECT PACKET FROM tmp_maxpacket)
|
||
|
AND rowid NOT in(
|
||
|
SELECT p_id FROM tmp_maxpacket )
|
||
|
|
||
|
|
||
|
|
||
|
-- 적용대상 패킷 건수 확인
|
||
|
-- 1195034 ($924 27건 제외)
|
||
|
SELECT count(*)
|
||
|
FROM tmp_gmtstd_log
|
||
|
|
||
|
-- 139527
|
||
|
SELECT count(*)
|
||
|
FROM tmp_gmtstd_log_etc
|
||
|
|
||
|
|
||
|
SELECT PAcket
|
||
|
FROM tmp_gmtstd_log
|
||
|
ORDER BY 1
|
||
|
|
||
|
SELECT PAcket
|
||
|
FROM tmp_gmtstd_log_etc
|
||
|
ORDER BY 1
|
||
|
|
||
|
최종 : 1334318
|
||
|
업데이트 : 1334318
|
||
|
```
|
||
|
|
||
|
|
||
|
- log패킷 : 일자,시간 현재시간으로 바꿔버림
|
||
|
- 밀어넣는데 시간이 오래걸림
|
||
|
|
||
|
|
||
|
SELECT max(RGSDE)
|
||
|
FROM TB_FBB_LC tfl
|
||
|
WHERE to_char(RGSDE, 'yyyymmdd') >= '20211201'
|
||
|
--ORDER BY RGSDE DESC;
|
||
|
|
||
|
SELECT *
|
||
|
FROM TB_FBB_LC tfl
|
||
|
WHERE to_char(RGSDE, 'yyyymmdd') >= '20220118'
|
||
|
|
||
|
SELECT count(*)
|
||
|
FROM TB_FILTERING tf
|
||
|
WHERE to_char(RGSDE, 'yyyymmdd') >= '20211201'
|
||
|
|
||
|
|
||
|
|
||
|
SELECT count(*)
|
||
|
FROM TB_LAST_LC_202203
|
||
|
WHERE out_dt IS NOT null
|
||
|
|
||
|
|
||
|
|
||
|
-- 선박별 최종 위치수신 시각
|
||
|
```SQL
|
||
|
SELECT ts.SLOT_NO , ts.mmsi, ts.FSHRBT_NO , nvl((to_char(b.REPORT_DT + (9/24), 'yyyy-mm-dd hh24:mi:ss')), '-') AS last_day
|
||
|
, to_char(b.REPORT_DT + (9/24), 'yyyy-mm-dd hh24:mi:ss') AS auto_last_day
|
||
|
, c.last_day AS man_last_day
|
||
|
FROM TB_SHIP ts , TB_LAST_LC b,
|
||
|
(SELECT SLOT_NO , max(to_char(REPORT_DT + (9/24), 'yyyy-mm-dd hh24:mi:ss')) AS last_day
|
||
|
FROM TB_PASSIVLC_RSPNS
|
||
|
GROUP BY SLOT_NO
|
||
|
) C
|
||
|
WHERE ts.SLOT_NO = b.SLOT_NO (+)
|
||
|
AND ts.SLOT_NO = c.slot_no(+)
|
||
|
ORDER BY SLOT_NO
|
||
|
```
|