ORDER BY Desc(获得Asc订单)

时间:2017-03-14 16:03:28

标签: sql tsql sql-server-2008-r2

我有一个表T,我试图通过desc命令对它们进行排序 我用了

select * from T
Order by column_name desc  . 

但我得到一个Asc命令而不是desc。我无法在此处上传图片,因此粘贴了我的结果。请看一下并提前致谢

970.000000

970.000000

825.000000

1205.000000

1170.000000

1170.000000

1050.000000

1000.000000

1000.000000

1000.000000

3 个答案:

答案 0 :(得分:1)

订购时将列投射到数字:

SELECT *
FROM T
ORDER BY CAST(column_name AS NUMERIC(12,6)) DESC

我建议将数字数据存储在数字类型列中,因为当数据存储为文本时,很难在数据库中处理这些数据。

答案 1 :(得分:0)

这些列名称是?您编写的查询将按列名称的降序从表中提供行

答案 2 :(得分:0)

您将数字数据存储为文本。这可能会导致这样的问题。蒂姆的答案是一种方法。

另一个将处理您的数据,因为所有数据都具有相同的格式:

order by len(col) desc,
         col desc