选择列而不使用列名

时间:2012-02-20 15:27:55

标签: sql-server

  

可能重复:
  Is there a way to select nth column in a SELECT clause from a table/view

如何在不使用列名的情况下选择表的前五列。

3 个答案:

答案 0 :(得分:1)

如何定义'前5列'?按字母顺序?

你只想要列名吗?或这些列中的数据?

我想说这首先是调用数据字典来查找所有列,然后将结果转换成某个sql来进行实际选择。如果需要的话。

答案 1 :(得分:0)

如果使用SQL Server,您可以使用Information_Schema.Columns并查看table_name,column_name和ordinal_position列以查找前五列。然后使用动态SQL生成适当的select语句。通常不鼓励使用动态SQL ......

答案 2 :(得分:0)

这将根据syscolumns中的着色器值返回表的前五列。

SELECT sc.name
FROM sysobjects so
INNER JOIN syscolumns sc
ON so.id = sc.id
WHERE so.name = 'substations'
AND sc.colorder <= 5
ORDER BY sc.colorder