2011-10-20 1 views
0

データ型がTextまたはntextの列で結合することはできますか?データ型がTextまたはntextの列で結合することはできますか?

+0

は、実際には、おそらく、彼らはあなたが 'TEXT'ことを言及することが期待インタビュー – user998609

+4

に頼まれましたdataypeは廃止され、VARCHAR(MAX)に取って代わられました。表が正規化されている場合は、 'TEXT'データ型に結合する必要があります。それ以外の場合は、結合で使用することは可能ですが、明示的な変換を使用する必要があります。それが本当に答えだったら、私はその質問が好きではありません。 –

+1

@Lieven:これは本当に答えになるはずです。 (私は「なぜ地球上で...?」)私から+1を意​​味する。 –

答えて

2

いいえ(明示的な変換なし)。 BOL

Comparison operators test whether two expressions are the same. Comparison operators can be used on all expressions except expressions of the text, ntext, or image data types.

から

このコード

create table #t1 (t text) 
create table #t2 (t text) 

insert into #t1 values ('1') 
insert into #t1 values ('2') 
insert into #t1 values ('3') 

insert into #t2 values ('1') 
insert into #t2 values ('2') 

select * 
from #t1 t1 
    join #t2 t2 ON t1.t=t2.t 

----this works  
    --select * 
    --from #t1 t1 
    -- join #t2 t2 ON cast(t1.t as varchar(max))=cast(t2.t as varchar(max)) 

drop table #t1 
drop table #t2 

はエラーを与える:

The data types text and text are incompatible in the equal to operator. 
関連する問題