如何在SQL Server2005中使用SQL query更改表中的列顺序?
我想使用SQL查询重新排列表中的列顺序。
发布于 2009-10-22 13:23:39
你不能。列顺序只是我们人类关心的一个“表面”的东西--对于SQL Server来说,它几乎总是完全无关紧要的。
当您更改列顺序时,SQL Server Management Studio在后台执行的操作是使用新的CREATE TABLE
命令从头重新创建表,复制旧表中的数据,然后删除该表。
没有用于定义列排序的SQL命令。
发布于 2009-10-22 13:22:31
你必须按照你想要的返回顺序来显式地列出字段,而不是使用*来表示“默认”顺序。
原始查询:
select * from foobar
返回
foo bar
--- ---
1 2
现在写下
select bar, foo from foobar
bar foo
--- ---
2 1
发布于 2009-10-22 21:27:40
当然,您可以更改sql语句中列的顺序。然而,如果你想抽象表的物理列顺序,你可以创建一个视图。i.e
CREATE TABLE myTable(
a int NULL,
b varchar(50) NULL,
c datetime NULL
);
CREATE VIEW vw_myTable
AS
SELECT c, a, b
FROM myTable;
select * from myTable;
a b c
- - -
select * from vw_myTable
c a b
- - -
https://stackoverflow.com/questions/1605144
复制相似问题