小弟怎么合并列,SQL Server2008
小弟求助如何合并列,SQL Server2008我这现在有一个Instrucments表,有InBrand列(徕卡)InClass列(TS02),InAc
小弟求助如何合并列,SQL Server2008 我这现在有一个Instrucments表,有InBrand列(徕卡)InClass列(TS02),InAccuracy列(2"),InType列(全站仪)我以前有一个InName列有数据,现在想将InName列中内容改为“徕卡TS02-2"全站仪"也就是讲InBrand/InClass/InAccuracy/InType列合并起来,我的这些列都是text数据类型,求教大神如何合并,谢谢 sql?server 合并 列 [解决办法]
select inbrand+inclass+'-'+inaccuracy+'"'+intype+'"' from Instrucments [解决办法] 对于text的类型,先convert(varchar(max),列名)后再相加试试
[解决办法] 这几个字段数据类型要一样(同时是varchar,text或nvarchar,ntext),inbrand,inclass,inaccuracy,intype
然后再用转换函数,才可以相加
create table T(id int,aaa ntext,bbb nvarchar(1000)) go insert into T values(1,N'AAAAAAAAAAAAAAAAAAAAAA','MMMMMMMMMMMMMMMMM') select aaa+bbb from T /* Msg 402, Level 16, State 1, Line 1 The data types ntext and nvarchar are incompatible in the add operator. */ select convert(nvarchar(max),aaa)+bbb from T /* AAAAAAAAAAAAAAAAAAAAAAMMMMMMMMMMMMMMMMM */ drop table T [解决办法] 错误提示已经很明显,nvarchar和ntext不兼容,所以才要你下面那句convert,nvarchar和ntext都是字符串,但是内部机制有点不同,而且ntext特讨厌,问题很多,以后设计的时候还是尽量避免吧
引用: Quote: 引用: 这几个字段数据类型要一样(同时是varchar,text或nvarchar,ntext),inbrand,inclass,inaccuracy,intype 然后再用转换函数,才可以相加create table T(id int,aaa ntext,bbb nvarchar(1000)) go insert into T values(1,N'AAAAAAAAAAAAAAAAAAAAAA','MMMMMMMMMMMMMMMMM') select aaa+bbb from T /* Msg 402, Level 16, State 1, Line 1 The data types ntext and nvarchar are incompatible in the add operator. */ select convert(nvarchar(max),aaa)+bbb from T /* AAAAAAAAAAAAAAAAAAAAAAMMMMMMMMMMMMMMMMM */ drop table T
这样还能是合并的文字么?我需要text文本合并啊 这是我改的代码create table Instrument(id int,InBrand ntext,InClass nvarchar(1000)) go insert into Instrument values(1,N'徕卡','TS02') select InBrand+InClass from Instrument /* Msg 402, Level 16, State 1, Line 1 The data types ntext and nvarchar are incompatible in the add operator. */ select convert(nvarchar(max),InBrand)+InClass from Instrument /* AAAAAAAAAAAAAAAAAAAAAAMMMMMMMMMMMMMMMMM */ drop table Instrument 然后就提示 消息 402,级别 16,状态 1,第 3 行 数据类型 ntext 和 nvarchar 在 add 运算符中不兼容。