Background Image

FORUM

조회 수 642 추천 수 0 댓글 2
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.
OS
Window7 64
CUBRID Ver.
 
CUBRID TOOL Ver.
  9.3.1.703
응용 환경(API)
java

* CUBRID 응용 오류, SQL 오류 또는 SQL 튜닝 관련된 문의는 반드시 다음의 내용을 추가해 주세요. 비밀글이나 비밀 댓글도 가능합니다.
* 저희가 상황을 이해하고, 재현이 가능해야 알 수 있는 문제들이 많습니다. 가능한 정보/정황들을 부탁합니다.
에러 내용 및 재현 방법 재현 가능한 Source와 SQL
관련 테이블(인덱스, 키정보 포함) 정보 CUBRID 홈 디렉토리 아래 log 디렉토리 압축


-------------- 아래에 질문 사항을 기입해 주세요. ------------------------------------------------------------------------

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
SELECT SUM(DECODE(D,'1', DAYNUM)) AS SUN,
       SUM(DECODE(D,'2', DAYNUM)) AS MON,
       SUM(DECODE(D,'3', DAYNUM)) AS TUE,
       SUM(DECODE(D,'4', DAYNUM)) AS WED,
       SUM(DECODE(D,'5', DAYNUM)) AS THU,
       SUM(DECODE(D,'6', DAYNUM)) AS FRI,
       SUM(DECODE(D,'7', DAYNUM)) AS SAT
  FROM
       (SELECT ROWNUM AS DAYNUM,
              TO_CHAR(TO_DATE(B.YYMM || LPAD(ROWNUM, 2, '0'), 'YYYYMMDD'), 'D') AS D,
              CAST(TO_CHAR(TO_DATE(B.YYMM || LPAD(ROWNUM, 2, '0'), 'YYYYMMDD'), 'W') AS NUMBER) + DECODE(SIGN(CAST(TO_CHAR(TO_DATE(B.YYMM || LPAD(ROWNUM, 2, '0'),'YYYYMMDD'), 'D') AS NUMBER) - CAST(TO_CHAR(TO_DATE(B.YYMM || '01', 'YYYYMMDD'), 'D') AS NUMBER)), 0, -1, 1, -1, 0) + 1 AS WEEKS
         FROM DB_ROOT A,
              (SELECT '201303' AS YYMM
                FROM DB_ROOT
              ) B
              CONNECT BY PRIOR LEVEL <= TO_NUMBER(TO_CHAR(LAST_DAY(TO_DATE(B.YYMM, 'YYYYMM')), 'DD'))
       )
 GROUP BY WEEKS
ORDER BY WEEKS;

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

위 쿼리는 오라클에서 정상적으로 사용하던 쿼리로 큐브리드 용으로 DUAL 등 일부를 수정한 쿼리 입니다.

해당 쿼리결과는 달력처럼 해당 년월에 해당하는 일자를 뽑아 오는 데요...

큐브리드용으로 바꾸려 하는데 좀처럼 진행이 되지 않아 질문 드립니다.


쿼리 출력시 큐브리드에서는

실행 오류 : -493
Syntax: before '  <= TO_NUMBER(TO_CHAR(LAST_DAY(TO_DATE(B.YYMM, 'YYYYMM')), 'D...'
'Pseudo-column' is not allowed here.

라는 에러를 발생 시키는데요


저부분에서 무엇을 좀더 수정을 해야 하는지 질문 드립니다.

  • ?
    박세훈 2018.08.02 11:27
    CONNECT BY PRIOR LEVEL <- prior와 pseudo-column인 level과 같이 사용하지 못합니다.
    prior를 제거하고 적절하게 쿼리를 수정하세요.

    to_char함수관련 메뉴얼을 링크하오니 참고하셔서 수정하세요.
    https://www.cubrid.org/manual/ko/9.3.0/sql/function/typecast_fn.html#to-char-date-time

    아래 쿼리는 참고하세요.
    SELECT ROWNUM AS DAYNUM,
    TO_CHAR(TO_DATE(B.YYMM || LPAD(ROWNUM, 2, '0'), 'YYYYMMDD'), 'D') AS D
    FROM DB_ROOT A,
    (SELECT '201808' AS YYMM
    FROM DB_ROOT
    ) B
    CONNECT BY LEVEL <= TO_NUMBER(TO_CHAR(LAST_DAY(TO_DATE(B.YYMM, 'YYYYMM')), 'DD'))
  • ?
    oSONYo 2019.06.05 14:57
    감사합니다^^
    덕분에 많은 도움이 되었습니다.

List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 4260
3856 저장 프로시져 질문 3 file 이석희 2009.03.12 16477
3855 초보 질문드립니다^^:(인스턴스 갱신) 1 박동진 2009.03.12 10959
3854 mysql에서 limit와 같은 기능이 있나요? 1 홍서기 2009.03.14 16330
3853 [질문] APC_Install-tools 1.4 사용시 ~ 2 file 야매코더 2009.03.17 10930
3852 에러 코드 관련 다시 질문 드립니다 1 kkckc 2009.03.18 11503
3851 데이타베이스 복구에 관한 질문. 1 김우람 2009.03.18 12049
3850 질의가 무한 루프로 발생시 대처법 질문 1 이석희 2009.03.18 12767
3849 백업파일을 이용하여 데이터베이스가 없는 다른 서버에서 복구하는 방법 질문. 1 김우람 2009.03.19 12973
3848 유니크한 값 얻어오기 있나요? 2 이승훈 2009.03.19 13138
3847 큐브리드 deb 패키징중... 8 강분도 2009.03.19 20577
3846 TIME 포맷 관련 질문 입니다. 1 이승훈 2009.03.19 12102
3845 broker서버가 시작되지 않습니다.. 2 platanus 2009.03.21 23737
3844 CCI 예제 프로그램이 실행이 안되요;; 5 file 나동호 2009.03.21 15036
3843 [쌩초보]내컴퓨터 서버만들기는 성공 했습니다.그후 1 왕초보 2009.03.21 18781
3842 CCI 프로그램을 하려면 어떻게 해야하나요? 2 나동호 2009.03.22 10712
3841 Cubrid 2008 R 1.3 설치중 에러메시지 3 동진 2009.03.23 11004
3840 CUBRID 2008 r1.1 프로그램 삭제 불가 5 file 지누콩 2009.03.23 11819
3839 CCI 프로그램 예제나 자료 나와 있는데 없나요?? 2 나동호 2009.03.24 10701
3838 C++(MFC 아님)에서 프로그래밍 작성을 하려면 어떤것을 사용해야 하나요? 6 나동호 2009.03.24 20052
3837 cci_fetch_size() 가 하는 일이 먼가요..? 1 나동호 2009.03.24 10773
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 ... 199 Next
/ 199

Contact Cubrid

대표전화 070-4077-2110 / 기술문의 070-4077-2113 / 영업문의 070-4077-2112 / Email. contact_at_cubrid.com
Contact Sales