Q&A

  • 문자열 자르기에 대해..
사용환경
OA : 윈98se
ORACLE : Oracle 8i

위와 같은 사용환경이구요..

몇월을 선택하게 되면 해당하는 달의 금액을 가져올려고 합니다.
저장된 값이 varchar2형으로 2002-12-11 형식으로 저장이 되어있는데
월부분에 해당되는 값을 어떻게 자르나요?

SELECT C.LAND_NUM, SUM(NVL(C.AVERAGE_MONEY,0)) MONEY01,C.JIGB_DATE
FROM land01 B, land02 C
WHERE B.MNGNO = C.MNGNO
   AND B.CHARNUM = C.CHANUM
   AND B.LAND_NUM = C.LAND_NUM
   AND B.BOSANG='1'
   AND C.C_NUM = '1'
   AND substring(C.JIGB_DATE,6,2) = '12'     <--이 부분
GROUP BY C.LAND_NUM,C.JIGB_DATE

초보인지라 많이 힘드네요..
읽어주셔서 감사합니다..(__)*
4  COMMENTS
  • Profile
    하얀까마귀 2002.12.02 04:23
    안녕하세요하얀까마귀 입니다.

    오라클에서 자를수는 잇습니다만 자르지 마세요..

    자르게 되면 오히려 검색속도를 저하시키는 요인이 됩니다.

    해당월이라면 간단하지 않나요?

    2002-12-00 <= 필드명
    and 2002-12-31 >= 필드명
    하시면 되지 않나요?

    조건문에 그러한 함수를 사용하게 되면 데이타가 많은경우엔 끔찍한 결과를
    가져올수도 있으니.. 되도록이면 삼가하시는게 좋습니다.

    그럼.. 즐거우시간 되세요..
  • Profile
    정성헌 2002.12.02 04:43

    먼저.. 답변주신 하얀까마귀님께 감사드립니다.
    해당 월이 변하는 값(?)이라 변수로 처리할려구 합니다.
    그렇다보니 월을 짤라야 할거 같은데..

    SELECT C.LAND_NUM, SUM(NVL(C.AVERAGE_MONEY,0)) MONEY01,C.JIGB_DATE
    FROM land01 B, land02 C
    WHERE B.MNGNO = C.MNGNO
       AND B.CHARNUM = C.CHANUM
       AND B.LAND_NUM = C.LAND_NUM
       AND B.BOSANG='1'
       AND C.C_NUM = '1'
       AND substring(C.JIGB_DATE,6,2) = '12'     <--이 부분의 '12'를 변수로
    GROUP BY C.LAND_NUM,C.JIGB_DATE


  • Profile
    KYH 2002.12.02 05:19

    일단 하얀까마귀님의 방법이 옳은것 같습니다만,

    and  C.JIGB_DATE between '2002-12'+'-00'
                                      and '2002-12'+'-31'  

    // '2002-12' 부분은 변수처리하심되겠지요.

    굳이 자르셔야하시면( --;;;;;)   substrringb를 쓰시길

    그리고 노파심에 드리는 말씀인데요....

    sum 이나 기타 그룹변수를 쓰실데에는 select 절에 전테이블이 다

    기술되는게 좋을겁니다.

    C.LAND_NUM,
    C.JIGB_DATE

    ==> 둘중에 하나는 'B.'으로 alias를 변경해주는게 좋을겁니다.

    즐코하십시요...






  • Profile
    정성헌 2002.12.02 05:26
    • 하얀까마귀
      2002.12.03 04:01
      안녕하세요 하얀까마귀 입니다. SetLocalTime 이라는 함수가 있거든요.. 이걸 이용하시면 가능하실것 같...
    • 이규하
      2010.04.27 19:05
      아래와 같은 코드로 성공 했습니다. Get_Date_Time_Format 은 select to_char(sysdate, ''MM/DD/Y...
    • 김영습
    • 2002.12.02 21:22
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 이중철
      2002.12.02 22:18
      이궁 답이 될지 모르겠네요 일단 제가 하는 방법은 두가지 입니다. 첫째 스트럭쳐를 만들어서 보...
    • 김용덕
      2002.12.02 22:15
      안녕하세여. Record로 만들어서 보내는 것이 어떨런지요. string같은 경우에는 레코드 인자에 char Array...
    • 조형제
    • 2002.12.02 18:48
    • 2 COMMENTS
    • /
    • 0 LIKES
    • KDDG_Hoya
      2002.12.02 23:16
      서브쿼리 지원 됩니다. 제가 보기엔 테이블 엑세스 권한을 먼저 확인해 보시는게 좋을것 같군여.
    • 이중철
      2002.12.02 20:48
      지원하는것이 별로 없는걸로 아는데요.. 인라인뷰라고 하던가요.. 하여간 그건 오라클은 지원하고....
    • 한기돈
    • 2002.12.02 14:30
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 머슴
      2002.12.02 17:09
      where 앞에 공백이 없어서 에러가 나는 것 같은데요.... sql.add(' where bookname="홍길동"'); 이것...
    • 정성헌
    • 2002.12.02 01:20
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 하얀까마귀
      2002.12.02 04:23
      안녕하세요하얀까마귀 입니다. 오라클에서 자를수는 잇습니다만 자르지 마세요.. 자르게 되면 오히려...
    • 정성헌
      2002.12.02 04:43
      먼저.. 답변주신 하얀까마귀님께 감사드립니다. 해당 월이 변하는 값(?)이라 변수로 처리할려구 합니다....
    • KYH
      2002.12.02 05:19
      일단 하얀까마귀님의 방법이 옳은것 같습니다만, and  C.JIGB_DATE between '2002-12'+'-00...
    • 정성헌
      2002.12.02 05:26
    • dogmh
    • 2002.12.01 09:21
    • 1 COMMENTS
    • /
    • 0 LIKES
    • KDDG_hyun
      2002.12.03 00:35
      따로 잡아 줘야 하는건 없는걸로 알고 있습니다 저도 짐 하나의 bde 가지고 7.0 이랑 2천 가치 사용 하...
    • 김상수
    • 2002.11.30 21:30
    • 3 COMMENTS
    • /
    • 0 LIKES
    • KDDG_ZZOM
      2002.11.30 21:31
      유니온을 3개 써서 안나왔다보기는 쫌그런데...^^ 다시한번 차분히 찾아보세요... 유니온을 쓰더라도...
    • 김상수
      2002.11.30 21:56
    • KDDG_ZZOM
      2002.11.30 22:53
      잘은 모르겠지만... 디비그리드는 쿼리결과를 그냥 보여주는 기능을 하는걸로 알고 있습니다... 혹시 쿼...
    • 도니
    • 2002.11.30 20:44
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 김용덕
      2002.12.02 22:19
      안녕하세요. 아래 답변 쓰신것을 보니 아래 답변의 경우에는 Client에서 Data가 전송될 때마다 Connected...
    • 김수경
      2002.12.01 01:54
      아마도 socket 이 연결되지 않았는데(연결이 쬐금 시간이 걸리죠 ^^;) 자료를 보내셔서 그런 것 같습니...
    • 전원이
    • 2002.11.30 20:07
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 하얀까마귀
      2002.12.02 09:46
      예전에 써본게 있는데 잘작동되었던걸로 기억하네요.. 이름.. CPort 였던것 같은데.. 아마 토리같은곳에...
    • 초보짱..
    • 2002.11.30 12:49
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 깨구락지
      2002.11.30 20:12
      어디에선가 알아낸 것입니다. With theStringGrid Do Begin Perform( WM_SETREDRAW, 0, 0 ); try ...
    • 2002.11.30 05:40
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 한원희
      2002.11.30 23:13
      안녕하세요. 한원희입니다. 클릭 동작에는 별 차이가 없는 것으로 알고 있습니다. 아마도 내부 다른 코...
    • 2002.12.03 23:42
      .
    • KDDG_ZZOM
      2002.11.30 18:48
      잘은 모르는데... bitbt버튼은 이미지를 올리수 있고 button은 못올리는 것 같네요... ^^ 즐프하세요......
    • byun
    • 2002.11.30 04:10
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 우소
      2002.12.03 19:25
      확실하지는 않지만.. 아이템마다 힌트가 있는것이 아닌듯 싶은데요.. 트리뷰라면  마우스 무브...
    • 도니
    • 2002.11.30 04:01
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 깨구락지
      2002.11.30 16:54
      writeln 에는 CR+LF가 포함되고 write에는 포함되지 않습니다.
    • 진경민
    • 2002.11.30 03:06
    • 1 COMMENTS
    • /
    • 0 LIKES
    • KDDG_ZZOM
      2002.11.30 21:36
      procedure PrintBmp(PCanvas:TCanvas;ARect: TRect; ABitmap: TBitmap ); var Info   &n...
    • 이광기
      2002.11.30 20:25
      dll32 => sqlora32.dll 로 설정하시고 연결하세염... ^^
    • 권대경
    • 2002.11.30 01:47
    • 2 COMMENTS
    • /
    • 0 LIKES
    • KDDG_Hoya
      2002.11.30 03:14
      방법은 있습니다. ^^*   ms-sql은   님의 만든 테이블 및 저장프로시져 정보...
    • 권대경
      2002.11.30 06:37
      선배님 정말 고맙습니다. 선배님 덕분에 발뻗고 잘 수 있을것 같네요~~ 이렇게 시원 할 수가 있나요..!...