database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
ㆍOracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Oracle Q&A 41272 게시물 읽기
No. 41272
쿼리에서 빈값 넣기 방법좀 알려주세요.
작성자
모던(ytkytk00)
작성일
2016-11-01 11:20
조회수
6,777

예를 들어 데이터가 아래와 같이 들어가 있습니다.

 

년월일시분초 count

20161031000000 10

20161031000001 8

20161031000002 3

20161031000003 8

20161031000004 11

20161031000008 3

20161031000009 15

 

 

 

이때 중간에 빠진 5~7초 를 각각 0으로 만들어서 0~9초를 만들고 싶습니다.

 

쿼리를 어떻게 만들어야 할까요?

 

이 글에 대한 댓글이 총 2건 있습니다.

 INSERT INTO RECORD_TABLE (REC_TIME, CNT)

SELECT REC_TIME, CNT FROM (
    SELECT '20161031' || LPAD(LEVEL, 6, '0') REC_TIME, 0 CNT FROM DUAL
    CONNECT BY LEVEL < 10
) A
WHERE NOT EXISTS (SELECT 1 FROM RECORD_TABLE WHERE REC_TIME = A.REC_TIME)
 
 
위 예시 데이터가 들어 있는 테이블을 RECORD_TABLE 이라고 가정하고
20161031 일자에 빠진 데이터만 인서트 하는 쿼리 입니다.
열공중님이 2016-11-01 12:49에 작성한 댓글입니다. Edit

WITH t AS
(
SELECT '20161031000000' dt, 10 cnt FROM dual
UNION ALL SELECT '20161031000001',  8 FROM dual
UNION ALL SELECT '20161031000002',  3 FROM dual
UNION ALL SELECT '20161031000003',  8 FROM dual
UNION ALL SELECT '20161031000004', 11 FROM dual
UNION ALL SELECT '20161031000008',  3 FROM dual
UNION ALL SELECT '20161031000009', 15 FROM dual
)
SELECT a.dt
     , NVL(b.cnt, 0) cnt
  FROM (SELECT TO_CHAR(s + (LEVEL - 1)/24/60/60, 'yyyymmddhh24miss') dt
          FROM (SELECT TO_DATE('20161031000000', 'yyyymmddhh24miss') s
                     , TO_DATE('20161031000009', 'yyyymmddhh24miss') e
                  FROM dual)
         CONNECT BY LEVEL <= ROUND((e - s)*24*60*60) + 1
        ) a
     , t b
 WHERE a.dt = b.dt(+)
 ORDER BY a.dt
;

마농(manon94)님이 2016-11-02 13:29에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
41275누적 쿼리. [2]
최종욱
2016-11-03
6391
41274증감율 구하기 질문 드립니다. [2]
량디
2016-11-02
6578
41273하루 6천만건의 데이터 생성 - 월 20억건의 데이터 발생
김대일
2016-11-01
5991
41272쿼리에서 빈값 넣기 방법좀 알려주세요. [2]
모던
2016-11-01
6777
41271ODBC 고수분들 답변 좀 부탁 드립니다.
그노그노
2016-10-26
6166
41270기준값에 대한 정렬, 부탁좀 드려봅니다. [6]
기쁨이
2016-10-26
6634
41269일자별 집계 쿼리 문의 [2]
이담원
2016-10-26
6733
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.051초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다