当前位置: 代码迷 >> Sql Server >> text、ntext类型的列不能用Group By 怎么处理
  详细解决方案

text、ntext类型的列不能用Group By 怎么处理

热度:66   发布时间:2016-04-27 12:04:29.0
text、ntext类型的列不能用Group By 怎么办
打算用Group By 去掉完全相同的行,但是某一列是text、ntext的类型. 不能用GroupBy了..
有什么其他方法可以合并相同的行吗
谢谢

------解决方案--------------------
distinct
------解决方案--------------------
select distinct * from tb
------解决方案--------------------
用distinct就可以了,
------解决方案--------------------
完全相同可以 DISTINCT

不完全可以转换一下再GROUP BY
------解决方案--------------------
探讨
谢谢大家的回答...但是distinct也不可以用在ntext里 用的是sql server 2005
错误信息:
ntext 数据类型不能选为 DISTINCT,因为它不可比。

4楼说的转换应该怎么转换,转换的话数据有可能会丢失吗?谢谢

------解决方案--------------------
看下你这些类型的最大存储的字节数吧! 可以的话转换数据类型,换成 varchar nvarchar 然后分组去重!
------解决方案--------------------
SQL code
------------------------------ Author  :fredrickhu(小F,向高手学习)-- Date    :2011-04-01 14:01:35-- Verstion:--      Microsoft SQL Server 2008 (RTM) - 10.0.1600.22 (Intel X86) --    Jul  9 2008 14:43:34 --    Copyright (c) 1988-2008 Microsoft Corporation--    Enterprise Edition on Windows NT 5.2 <X86> (Build 3790: Service Pack 2)--------------------------------> 测试数据:[tb]if object_id('[tb]') is not null drop table [tb]go create table [tb]([col1] text,[col2] text)insert [tb]select 'a','t' union allselect 'a','t' union allselect 'a','t'--------------开始查询--------------------------select distinct (CAST (col1 as varchar(10))),(CAST (col2 as varchar(10))) from tb----------------结果----------------------------/*            ---------- ----------a          t(1 行受影响)*/
  相关解决方案