我想这将是一个容易解决的问题,但我一直在疯狂地搜索Google,试图找到答案,我只是没有得到答案。按包含空值的列进行排序?
我想根据包含空值的列对结果进行排序。 SQL Server似乎认为这是一个坏主意。我试着用ISNULL
,LIKE
以及其他一些方法来限制它们,试图让它起作用,而这只是没有发生。
SELECT c1
FROM t1
WHERE c1 IS NOT NULL
ORDER BY c1 DESC
SQL Server为我这个错误: The text, ntext, and image data types cannot be compared or sorted, except when using IS NULL or LIKE operator.
就像我说的,我一直在使用Google像疯了似的试图找到答案这个简单的问题,它只是没有发生。
如果我没有弄错,SQL Server不会抱怨NULL值,它抱怨说它不能排序文本,ntext或图像数据类型。 –
要添加到该评论,请查看MSDN页面上的限制部分:http://msdn.microsoft.com/en-us/library/ms188385.aspx如果将它作为varchar进行投射,则应该可以将其排序问题 –
我假设它是'text/ntext'类型。而不是引入'Order By'子句,为什么不是最初'Varchar(max)'设计的? – 2012-06-07 17:55:09