SQL2000:从syscolumns中选择时的默认列顺序

时间:2011-04-13 05:18:05

标签: sql database sql-server-2000 sql-order-by

我正在运行以下查询:

select syscolumns.name 
from syscolumns,sysobjects
where 
syscolumns.id = sysobjects.id and 
sysobjects.name='TABLE_NAME'

在一个系统中,按字母顺序返回列而另一个系统返回列的原因是什么?它们是按列添加到表中的顺序返回的?

我知道我不应该依赖默认顺序,我应该使用ORDER BY,但我想知道为什么会这样。核对?

谢谢!

1 个答案:

答案 0 :(得分:2)

除非您明确指定ORDER BY,否则您可以“依赖”无默认订单

您所看到的是预期的行为;基于任意数量的影响因子,返回的行的顺序可以根据具体情况而不同,从服务器到服务器。

这可能与SQL Server从磁盘读取的页面的排列或许多其他因素有关。

简而言之:如果您需要订单,请ORDER BY提出要求 - 这就是我们所知道的全部内容。