我正在运行以下查询:
select syscolumns.name
from syscolumns,sysobjects
where
syscolumns.id = sysobjects.id and
sysobjects.name='TABLE_NAME'
在一个系统中,按字母顺序返回列而另一个系统返回列的原因是什么?它们是按列添加到表中的顺序返回的?
我知道我不应该依赖默认顺序,我应该使用ORDER BY,但我想知道为什么会这样。核对?
谢谢!
答案 0 :(得分:2)
除非您明确指定ORDER BY
,否则您可以“依赖”无默认订单。
您所看到的是预期的行为;基于任意数量的影响因子,返回的行的顺序可以根据具体情况而不同,从服务器到服务器。
这可能与SQL Server从磁盘读取的页面的排列或许多其他因素有关。
简而言之:如果您需要订单,请ORDER BY
提出要求 - 这就是我们所知道的全部内容。