데이터베이스 개발자 질문과 답변 게시판

데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 SQLER 분들의 답변을 받으실 수 있습니다. 문의를 하실때에는 최근 작업하신 특이 사항이나, 장애 발생 전 상황을 상세히 올려 주시면 답글을 적어주시는 SQLER분들의 답변이 더 정확할 수 있으니 도움 되시길 바랍니다. 쿼리 문의일 경우, 실제 문제가 재현되는 테이블생성, 샘플데이터 생성 쿼리를 함께 올려 주시면 더 빠르고 정확한 쿼리 문의 응답이 가능합니다.

이리

규격 형태에서 마지막 * 뒤에 숫자만 필요하다면 아래와 같은 형태로 한번 응용해 보세요

 


    ;WITH CTE
    AS
    (
        SELECT 10.000 AS [수량], 100.0000 AS [단가], N'0.02*105*500' AS [규격], 1000.0000 AS [공급 가격] UNION ALL
        SELECT 10.000 AS [수량], 7990.3000 AS [단가], N'0.06*47*1000' AS [규격], 79903 AS [공급 가격]
    )
    SELECT    *
        ,    CAST(REVERSE(SUBSTRING(REVERSE([규격]), 0, CHARINDEX('*', REVERSE([규격])))) AS BIGINT) AS [M]
        ,    [공급 가격] / CAST(REVERSE(SUBSTRING(REVERSE([규격]), 0, CHARINDEX('*', REVERSE([규격])))) AS BIGINT) AS [단순계산 M당 가격]
    FROM    CTE;
 






XE Login