如何知道MS-SQL中表格中的列位置。
例如:如果一个表由3列组成,即column1,column2和column3。
我应该写一查询,这样我可以得到栏3的位置列表在表格中的位置
回答
尝试:
SELECT ORDINAL_POSITION
FROM information_schema.columns
WHERE table_name = 'YourTableName' AND COLUMN_NAME = 'YourColumnName'
+和schema_name = ... !!! –
你会得到所有这些从INFORMATION_SCHEMA。
select ordinal_position from information_schema.columns
where schema_name = 'databasename'
and table_name = 'tablename'
and column_name = 'column name'
您必须在您的查询中包含schema_name,可能会有两个名称为'tablename'的表在不同的架构中 –
@RomanPekar:感谢您的快速通知。编辑答案 –
这里有两种方法可以做到这一点:
select colid
from sys.syscolumns
where id = object_id('schemaname.tablename') and name = 'column3'
和
select ordinal_position
from information_schema.columns
where
schema_name = 'schemaname' and
table_name = 'tablename' and
column_name = 'column3'
这里是为什么你必须避免INFORMATION_SCHEMA视图的一篇文章 - The case against INFORMATION_SCHEMA views,我没有经常写这种类型的查询,所以我并不真正关心它,但sys.syscolumns往往会更快一些,因为它没有许多冗余连接,您可能不需要这些连接。
OTOH,INFORMATION_SCHEMA视图是ISO标准 - 在这里的这个dicussion - SQL Server: should I use information_schema tables over sys tables?
尝试查询和检查结果。
选择列名,从INFORMATION_SCHEMA.COLUMNS ORDINAL_POSITION 其中TABLE_CATALOG = 'yourdatabasename' 和TABLE_SCHEMA = 'yourschemaname' 和TABLE_NAME = 'yourtablename'
- 1. 查询中列表/表格的位置
- 2. 位置在列表中的位置
- 3. 主键在列列表中的位置
- 4. 表格列的相对位置HTML/JQuery
- 5. HTML表格更改列的位置
- 6. Android:AutoCompleteTextview中的列表位置
- 7. 按钮不在表格中的位置
- 8. returnig元素在列表中,并在列表中的位置
- 9. 在同一位置的表的列表
- 10. 在表格上显示与用户最近的位置列表
- 11. XNA:实体在列表中的位置
- 12. 在Prolog中的列表位置
- 13. 在Python列表中的位置
- 14. 元素在列表中的位置(OCaml)
- 15. 在haskell列表中的位置相等
- 16. SQL表格,2列和键位置
- 17. 表格的响应位置
- 18. dataTables在表格中保存位置
- 19. 如何在列表视图中获取列表项的位置?
- 20. 在对象列表中的位置列表修改
- 21. 在列表列表中打印Value的位置Python
- 22. SPQuery:加入列表和在国外列表中的位置
- 23. 数字列表2D表格,返回表格中最大元素位置的2个数字列表
- 24. html - 在目标位置放置表格
- 25. 表格体中的滚动位置
- 26. HTML表格中的位置元素
- 27. 在列表中维护滚动位置
- 28. 在csv列表中查找位置
- 29. 中间列表项中的位置div
- 30. 表格单元格内的位置
如果您想选择COLUMN1前栏3那么你可以使用SELECT语句来实现这一点。 – hims056
在SQL中,尽可能多地忽略列的“位置” - 列由*名称*引用,而不是位置。你试图解决什么样的问题?找到列的位置似乎是你的解决方案的一部分? –