雖然通常不鼓勵使用序數位置進行列選擇,但在某些情況下可能有必要,例如一次性數據導入過程。問題出現了:是否可以使用 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
此方法建立具有所需列數的臨時表,允許我們使用序號位置作為索引來存取資料。但對於列數較多的表,不建議使用。
以上是可以使用序數位置選擇 SQL Server 欄位嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!