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
운영게시판
최근게시물
DB2 Q&A 3057 게시물 읽기
No. 3057
오류 사항에 대해서 질문 드립니다.
작성자
purmir(purmir)
작성일
2011-05-27 10:48
조회수
5,440

SELECT  BBB.GPDAY ,BBB.NPDAY ,BBB.GP ,BBB.NP

FROM                                    
                                    (SELECT  SUM(ROUND(floor((TIMESTAMP(E.ETDATDDTM||'00')-TIMESTAMP(E.ETAATADTM||'00'))/1000000) +        ((TIMESTAMP(E.ETDATDDTM||'00')-TIMESTAMP(E.ETAATADTM||'00'))-floor((TIMESTAMP(E.ETDATDDTM||'00')-TIMESTAMP(E.ETAATADTM||'00'))/1000000)*1000000)/240000,2)) AS GPDAY
                                            ,SUM(ROUND(floor((TIMESTAMP(E.ETCATCDTM||'00')-TIMESTAMP(E.COMATCDTM||'00'))/1000000) + ((TIMESTAMP(E.ETCATCDTM||'00')-TIMESTAMP(E.COMATCDTM||'00'))-floor((TIMESTAMP(E.ETCATCDTM||'00')-TIMESTAMP(E.COMATCDTM||'00'))/1000000)*1000000)/240000,2)) AS NPDAY
                                            ,SUM((M.QTYFII+M.QTYBTT)/ROUND(floor((TIMESTAMP(E.ETDATDDTM||'00')-TIMESTAMP(E.ETAATADTM||'00'))/1000000) + ((TIMESTAMP(E.ETDATDDTM||'00')-TIMESTAMP(E.ETAATADTM||'00'))-floor((TIMESTAMP(E.ETDATDDTM||'00')-TIMESTAMP(E.ETAATADTM||'00'))/1000000)*1000000)/240000,2)) AS GP
                                            ,SUM((M.QTYFII+M.QTYBTT)/ROUND(floor((TIMESTAMP(E.ETCATCDTM||'00')-TIMESTAMP(E.COMATCDTM||'00'))/1000000) + ((TIMESTAMP(E.ETCATCDTM||'00')-TIMESTAMP(E.COMATCDTM||'00'))-floor((TIMESTAMP(E.ETCATCDTM||'00')-TIMESTAMP(E.COMATCDTM||'00'))/1000000)*1000000)/240000,2)) AS NP
                                    FROM PLIBBS.OPRAVRSM M LEFT JOIN PLIBBS.OPRAVRTE E ON (M.VSLCOD = E.VSLCOD AND M.VOYCOD = E.VOYCOD AND M.MSTSEQ = E.MSTSEQ)
                                    GROUP BY M.VSLCOD,M.VOYCOD,M.POTCOD,M.POTDSC,M.DPTDAT) BBB
 

  이 쿼리를 돌리면 Syntax of date, time, or timestamp value not valid.    이런 메세지가 뜨면서 오류가 납니다. 

  TIMESTAMP의 잘못된 사용이라고 하는데,, 어떻게 수정하면 될까요? 고수님들의 답변 부탁드립니다. 감사합니다.

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

 

에러 원인 : 아마  yyyymmddhh24mi  column을 timestamp로 바꾸는 과정에서 에러가 난듯한데요..

                    E.ETDATDDTM  등의  컬럼에 데이터가 어떻게 들어가 있는지 확인해보세요.

 

 

C:\Documents and Settings\user>db2 "values timestamp('222222'||'00')"

1
--------------------------
SQL0180N  날짜 시간 값의 문자열 표현 구문이 올바르지 않습니다.  SQLSTATE=22007

 

C:\Documents and Settings\user>db2 "values timestamp('201101010000'||'00')"

1
--------------------------
2011-01-01-00.00.00.000000

조는 냥이님이 2011-05-27 18:08에 작성한 댓글입니다.
이 댓글은 2011-05-27 18:09에 마지막으로 수정되었습니다. Edit
[Top]
No.
제목
작성자
작성일
조회
3060테입
김성오
2011-06-09
4876
3059오라클에서 db2로 date 타입 insert [3]
vampire
2011-06-05
8382
3058값연결해서 보여주고자 할때.. [1]
지나
2011-05-31
5133
3057오류 사항에 대해서 질문 드립니다. [1]
purmir
2011-05-27
5440
3056db2 오류 메시지에 대하여 궁금합니다.
나그네
2011-05-20
5601
3055문자열 증가할수 있나요? [2]
똘똘이
2011-05-09
5955
3054LEFT JOIN 차이점 여쭤봅니다. [3]
purmir
2011-05-03
6515
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.051초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다