INNER JOIN
을 수행 할 두 개의 테이블 (장비 & 소프트웨어)이 있습니다. 둘 다 EQCN이라는 필드를 가지고 있습니다. 이것은 텍스트 필드입니다. 다음 오류가 발생합니다.텍스트 열의 SQL INNER JOIN
The data types text and text are incompatible in the equal to operator.
이 문제를 해결할 수있는 방법이 있습니다.
INNER JOIN
을 수행 할 두 개의 테이블 (장비 & 소프트웨어)이 있습니다. 둘 다 EQCN이라는 필드를 가지고 있습니다. 이것은 텍스트 필드입니다. 다음 오류가 발생합니다.텍스트 열의 SQL INNER JOIN
The data types text and text are incompatible in the equal to operator.
이 문제를 해결할 수있는 방법이 있습니다.
이 열의 데이터 형식을 varchar(max)
으로 변경하십시오.
ntext, text, and image data types will be removed in a future version of Microsoft SQL Server. Avoid using these data types in new development work, and plan to modify applications that currently use them. Use nvarchar(max), varchar(max), and varbinary(max) instead.
TEXT 필드에서 조인을하는 것은 작동하더라도 매우 느릴 수 있습니다. 아마도 다음을 사용하십시오 :
CONVERT(varchar, myColumnName) = 'my value'
그건 그것을 '30'문자로 자르고 의미를 변경합니다. –
, 마이크로 소프트는 텍스트 또는 SUBSTRING 같은 것을 사용하여 NTEXT 간접 비교를하고있는 것이 좋습니다. 예 : 물론
SELECT *
FROM t1
JOIN t2 ON SUBSTRING(t1.textcolumn, 1, 20) = SUBSTRING(t2.textcolumn, 1, 20)
이 문자의 첫 번째 # 등, 동일한 경우 내가 유형을 변경하는 경로를가는 것이 좋습니다 먼저 할 수있는 경우가 아닌 것입니다 무슨 같은 문제의 완전히 다른 세트를 제기 이 충고를 듣는다.
이 열에서 가장 긴 항목의 길이는 얼마입니까? –
SQL을 게시하십시오. – Oded
@Oded - 정말 필요하지 않습니다. 이것은'text' 데이터 유형의 두 컬럼을 시도하고 조인 할 때 얻는 에러입니다. –