다음과 같은 의미를 가진 열 SQL 변형이 있습니다. 100, 150, D1
특정 논리에 따라 열의 모든 숫자를 문자 (예 : D1
)로 변환하려고합니다. 그러나 150
에는 공백이 있고 CASE WHEN
은 작동하지 않습니다. 여기 trim sql variant
Select *,
Case When LTrim(Cast(AttributeValue As NVarchar(Max))) Between 0 And 200 Then 'D1'
Else 'Other'
End
From MyTable As SCR With (NoLock);
나는 다음과 같은
LTRIM(CAST column AS VARCHAR(MAX))
시도했지만 지금은 얻을 오류 : 나는 SQL_VARIANT에서 공백을 제거하는 방법
Conversion failed when converting the nvarchar value 'D1' to data type int
? 때문에 더 큰 숫자를 데 BIGINT를 사용하여 열을 동일 떠날 편집 귀하의 의견으로 당
전체 쿼리를 보여주십시오 (columnnName를, '', '') 교체를 선택 대체 :
여기 그것이 작동하는 방법을 보여주는 당신의 전체 예입니다. – Siyual
SELECT *, CASE (CAST (AttributeValue AS NVARCHAR (MAX))) 0과 200 사이에 'D1'ELSE AttributeValue END MyTable AS SCR WITH (NOLOCK) – Asakura
AFAIK에는 'variant' SQL 서버입니다! –