Sql-Server
是否為 SQL 表列分配了列號
在表中,我們可以看到自動分配的編號(行號)是否可用於列(列號),我們如何獲得該編號?我需要一個 SQL 查詢來查找列號而不是列數。
您在 SSMS 中獲得的行號(我假設您指的是這個數字)不是由 SQL 生成的,而是由 SSMS 生成的(因此它實際上並不存在於您的數據庫中)。
SQL 確實有一個與每一列(它們的 ID)相關聯的“數字”,您可以通過如下查詢獲得那些:
select c.column_id from sys.columns c join sys.objects o on o.object_id =c.object_id where o.name = 'YourTableName'
我不確定它是否會完全按照您的預期進行,因此如果您可以指定為什麼需要這些列編號,我們將能夠更好地為您提供更清晰的答案。
您不能通過其編號來引用列。(你也不能用某個數字來引用一行,正如已經說過的,你在 SSMS 網格中看到的行號是由 SSMS 生成的。)
因此,當您編寫 DML 時,列沒有數字。在 UPDATE 中,您不能將“第二列”稱為
2
. 這個概念根本不存在。然而,SQL Server內部確實有表和列的 ID,而且它們恰好是整數類號。但這並不意味著這些在 DML 級別可用。
因此,如果您在更高層次上添加更多關於您需要實現的目標的詳細資訊,您可能會獲得想法和設計建議。我的意思是比你對多米尼克的回答的評論更多的細節。考慮到這將是一種新型問題,這應該在新文章中完成。