2011-10-20 44 views
0

是否可以加入數據類型爲Text或ntext的列?是否可以加入數據類型爲Text或ntext的列?

+0

居然有人問在採訪 – user998609

+4

也許他們希望你一提的是'TEXT' 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. 
相關問題