0
データ型がTextまたはntextの列で結合することはできますか?データ型がTextまたはntextの列で結合することはできますか?
データ型がTextまたはntextの列で結合することはできますか?データ型がTextまたはntextの列で結合することはできますか?
いいえ(明示的な変換なし)。 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.
は、実際には、おそらく、彼らはあなたが 'TEXT'ことを言及することが期待インタビュー – user998609
に頼まれましたdataypeは廃止され、VARCHAR(MAX)に取って代わられました。表が正規化されている場合は、 'TEXT'データ型に結合する必要があります。それ以外の場合は、結合で使用することは可能ですが、明示的な変換を使用する必要があります。それが本当に答えだったら、私はその質問が好きではありません。 –
@Lieven:これは本当に答えになるはずです。 (私は「なぜ地球上で...?」)私から+1を意味する。 –