how can I select one or more columns from a table by column-index and NOT by columnname?

I got the columnIndices of table by using this query

SELECT name, colid
FROM sys.syscolumns
WHERE (id =
FROM sys.sysobjects
WHERE (name = 'table_name')))

I got my answered.
We can fetch records according to column index by using this query

Declare @WhichOne int;
Declare @Sql varchar(200);
Set @WhichOne = 2;
With cte As
(Select name, Row_Number() Over (Order By column_id) As rn
From sys.columns
Where Object_Name(object_id) = 'MyTable')
Select @Sql = 'Select ' + QuoteName(name) + ' From MyTable'
From cte
Where rn = @WhichOne;