2012-11-06 39 views
4

我在我的分贝以下行:SQL命令

ID  Weight 
----------------------------- 
897  1.46357497509608E-11 
689  6.67145488899268E-12 
896  6.63573718293682E-12 
615  5.14817058560092E-12 
822  5.14806820534293E-12 

当我执行下面的SQL查询:

SELECT * 
FROM mytable 
ORDER BY weight DESC 

数据在同一个返回订购。

P.S. Linq查询在ASP.NET C#应用程序中发生的事情也是如此。

+5

为什么是不正确的顺序?第一个值是'1.45 * 10^-11',大于'6.67 * 10^-12' – Lamak

回答

7

该顺序是正确的。

降序意味着最大值先到达。您的号码正在scientific notation中显示。 1.46E-11意味着1.46×10 -11等于0.0000000000146。

看到普通小数形式的数字可能有助于理解为什么顺序是正确的:

 
ID Weight 
897 0.00000000001463574975096080 
689 0.00000000000667145488899268 
896 0.00000000000663573718293682 
615 0.00000000000514817058560092 
822 0.00000000000514806820534293 
+0

谢谢,我没有注意到负号 –