读书人

sql报错不能比较或排序 text、ntext 和

发布时间: 2012-03-28 15:40:03 作者: rapoo

sql报错不能比较或排序 text、ntext 和 image 数据类型,除非使用 IS NULL 或 LIKE 运算符。
select Mid,title1,detail1,photopath,changedate,
tb_main.username,tb_main.remark,sortA,sortB,MGood,KunNan,
count(*) AS PLNum
from tb_main
left join tb_pl on tb_main.Mid = tb_pl.MainID
group by Mid,title1,detail1,photopath,changedate,tb_main.username,tb_main.remark,sortA,sortB,MGood,KunNan

报错:
服务器: 消息 306,级别 16,状态 2,行 1不能比较或排序 text、ntext 和 image 数据类型,除非使用 IS NULL 或 LIKE 运算符。


注:tb_main.Mid 是自动编号,而tb_pl.MainID是vacher类型.不知道是不是因为两个类型不同,以至出错。。有解决方法吗??谢谢!!!


[解决办法]
应该是你 detail1 是text类的字段吧。

如果这个里面内容不多,而你又一定要group by这个字段的话,
那么可以试试 cast(detail1 as varchar(max))转换后进行查询。
[解决办法]
tb_main.Mid 是自动编号,而tb_pl.MainID是vacher类型

两个类型不同,你如何做条件比较?

on tb_main.Mid = tb_pl.MainID

至少要改为
on cast(tb_main.Mid as varchar) = tb_pl.MainID

on tb_main.Mid = cast(tb_pl.MainID as int)

读书人网 >SQL Server

热点推荐