gpt4 book ai didi

sql-server - SQL Server 2012 的 select * 返回列的顺序是否发生了变化?

转载 作者:行者123 更新时间:2023-12-04 05:16:10 25 4
gpt4 key购买 nike

SQL Server 2012 的 select * 返回列的顺序是否发生了变化?

例如,对于包含 a1,a2,a3 列的表 t,其中 select * from t对于 2012 年之前的 SQL Server 版本,按 a1、a2、a3 的顺序返回列,迁移到 2012 后,该顺序更改为其他顺序,例如 a3、a1、a2。

有没有其他人注意到这一点?

为什么会发生这种变化?

我个人很好奇为什么会发生这种情况。也许转换到 SS 2012 有问题?

(不,我的应用程序不依赖于列排序,我知道我应该按照我想要的顺序指定我需要的列,而不是使用 select * )

最佳答案

这取决于每一列的 ordinal_position information_schema.columns 中的值表。

该表中的每一列都有一个条目,其中包含表名和序号位置。试试这个:

SELECT column_name, ordinal_position
FROM information_schema.columns
WHERE table_name = 'table name';

这应该返回与前一个实例相同的结果。

关于sql-server - SQL Server 2012 的 select * 返回列的顺序是否发生了变化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14238672/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com