none
MSSQL 2005 에서 데이터 검색시 오류(varchar을(를) numeric(으)로 변환하는 중 오류) RRS feed

  • 질문

  • varchar 타입으로 되어 있는 숫자 데이터를 불러 올때 형식을 소수점 이하 4자리까지 표시하려고 합니다.

    1줄(행)씩 데이터를 읽어 오면 문제가 없지만 5줄(행) 이상을 읽어오면 아래와 같은 오류가 발생합니다.

    '데이터 형식 varchar을(를) numeric(으)로 변환하는 중 오류가 발생했습니다.'

    어떻게 해결하는 것이 좋을까요?

    쿼리 예제 입니다. (테이블명 및 중요 인자는 **** 로 처리하였습니다.)


    SELECT QCTR1130.LOT_NO LOT_NO,
             convert(DECIMAL(20,4),REPLACE(isnull(****.FINAL_RESULT,0),'','')) FINAL_RESULT ,
        FROM **** , ****, ****, ****
       WHERE ( ****.GUM_NO = ****.GUM_NO ) and
             ( ****.GD_CD  = ****.GD_CD ) and
             ( ****.GD_CD  = ****.GD_CD ) and
             ( ****.LOT_NO = ****.LOT_NO ) and
             ( ****.GONGQC_CD = ****.GONGQC_CD ) and
             ( ****.GONGQC_CD = ****.GONGQC_CD ) and
             ( ****.PS_CD = ****.PS_CD) AND
       ( ****.RESULT_GU = 'y' ) and
             ( ( ****.STTS = 'C' ) AND
             ( ****.GD_CD = '****' ) AND
                ( ****.FIN_DT between '20120725' and '20120731' ) AND
             ( ****.LETTER_GU = 'N' ) )   
    order by ****.FIN_DT asc

    2012년 11월 3일 토요일 오후 1:39

모든 응답

  • 안녕하십니까? cokemanx님,
    Microsoft MSDN의 Forum 사이트를 방문해 주셔서 감사합니다.

    현재 문의 하신 ”MSSQL 2005 에서 데이터 검색시 오류(varchar을(를) numeric(으)로 변환하는 중 오류)" 대해 답변을 드리겠습니다.

    일단 변환하기 전의 값을 출력해보시기 바랍니다. 종종 NULL값이 뒤에 들어가있다던가 하는 케이스로 인해서 많이 위 이슈를 발생시키기도 합니다.

    [참고자료]
    CAST 및 CONVERT(Transact-SQL)

    제시해 드린 답변이 도움이 되었기를 바랍니다.
     
    답변이 문제 해결에 도움이 되었다면 답변으로 채택을 부탁드립니다.
    하지만 문제 해결이 되지 않아서 정확한 답변을 원하는 경우에는 문제의 정보를 더 자세하게 답변으로 제공해주시기 바랍니다.

    2012년 11월 5일 월요일 오전 1:35
    중재자
  • 5줄 이상의 행에서 변환시 문제가 되는  데이터가 있어서 발생하는 것으로 보입니다.

    아마도 문자나 공백 등이 들어가 있을 수 있습니다.  찾기 어려우면 TOP(5), TOP(6), ...,해서 오류 행을 찾아볼 수 있습니다.


    Hong-ju

    2012년 11월 5일 월요일 오후 6:42