使用列序数位置检索 SQL Server 数据
虽然通常不鼓励使用序数位置进行列选择,但在某些情况下可能会这样做特定任务所必需的,例如一次性数据导入过程。考虑以下示例:
create table Test( Col1 int, Col2 nvarchar(10) )
不要使用传统语法:
select Col2 from Test
可能需要使用序数位置来访问列数据:
select "2" from Test -- for illustration purposes only
不幸的是,SQL Server 不支持这种方法。但是,如果列数已知,则可以采用一种解决方法:
select NULL as C1, NULL as C2 where 1 = 0 -- Returns empty table with predefined column names union all select * from Test -- There should be exactly 2 columns, but names and data type doesn't matter
这会生成一个空表,其中包含两个名为 [C1] 和 [C2] 的预定义列。然后可以将测试表中的数据合并到这个空表中,确保列正确对齐。
此方法对于具有大量列的表不是特别有用。但是,对于具有预定列数的表来说,它可能是一个方便的解决方案。
以上是不支持直接访问时如何使用列序号位置检索SQL Server数据?的详细内容。更多信息请关注PHP中文网其他相关文章!