5 개의 case 문이 있습니다 (단지 2 개의 case 문만 표시). varchar 값 '1.33'을 데이터 유형 int로 변환 할 때 문제가 발생했습니다.
SELECT DISTINCT
CASE [GRADE1]
when 1 then 1
when 2 then 3
when 3 then 5
when 4 then 7
when 5 then 9
End as Q1,
CASE [GRADE2]
when 1 then 1
when 2.3 then 3
when 3.33 then 5
when 4.67 then 7
when 1 then 9
End as Q2
FROM abcd
여기에 내가 대신 내가 코드를 작성하도록 요청하고 모든 값을 하드 코딩 나중에 선택 구문을
SELECT a,b
INTO #Temp_Q
FROM xyz
WHERE [ds]= 'Data'
select distinct t.[b] as [Q]
from abcd s
left join #Temp_Q t on s.[GRADE1] = t.[a]
s.[GRADE2] = T.[a]
을지도 할 필요가 임시 테이블의 값을 넣어하려합니다.
이제 오류가 발생했습니다. 변환 방법을 모르겠습니다. [GRADE2] (FLOAT, NULL)은 열에 어설 션 된 데이터 유형입니다. int 데이터 형식에 VARCHAR 값 '1.33'로 변환 할 때
메시지 245, 수준 16, 상태 1, 줄 14
는 변환에 실패했습니다.
테이블 xyz 및 테이블 abcd의 데이터 유형은 무엇입니까? 원래 테이블이나 쿼리에서 모든 데이터 유형을 10 진수로 변환해야합니다. BTW는 계산을하려고하는 일에 플로트를 사용하지 않습니다. 반올림 오류가 발생합니다. – HLGEM