ntext数据的GROUP BY

vic*_*bur 6 sql sql-server ntext

我想看看MSGTEXT表中重复多少次MMOUTBOUND.为此,我使用以下查询:

SELECT 
    MSGTEXT, 
    COUNT(*) TotalCount 
FROM MMOUTBOUND 
GROUP BY MSGTEXT 
HAVING COUNT(*)>1;
Run Code Online (Sandbox Code Playgroud)

但是我收到错误,因为ntext数据类型无法进行比较或排序.如何为ntext数据类型实现此目的?

Stu*_*tLC 12

你不能直接,为整个列.但是,间接地,你可以改为转换前N个字符和组,例如

SELECT CONVERT(NVARCHAR(100), MSGTEXT), COUNT(*) TotalCount 
FROM MMOUTBOUND 
GROUP BY CONVERT(NVARCHAR(100), MSGTEXT) 
HAVING COUNT(*)>1;
Run Code Online (Sandbox Code Playgroud)

正如其他人已经注意到的那样,请注意您应该将NTEXT列转换为NVARCHAR(MAX)