You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Teradata中如何查询表列的位置与顺序?

获取表列的位置/顺序信息

不同数据库系统中,存储列顺序的系统视图字段存在差异,以下是主流数据库的具体查询方法:

MySQL/MariaDB

通过information_schema.columns中的ORDINAL_POSITION字段获取列顺序(从1开始计数):

SELECT COLUMN_NAME, ORDINAL_POSITION
FROM information_schema.columns
WHERE TABLE_SCHEMA = '你的数据库名'
  AND TABLE_NAME = '你的表名'
ORDER BY ORDINAL_POSITION;

SQL Server

方法1:使用information_schema.columns

SELECT COLUMN_NAME, ORDINAL_POSITION
FROM information_schema.columns
WHERE TABLE_CATALOG = '你的数据库名'
  AND TABLE_NAME = '你的表名'
ORDER BY ORDINAL_POSITION;

方法2:使用系统视图sys.columns

column_id字段直接对应列的顺序(从1开始):

SELECT name AS COLUMN_NAME, column_id AS ORDINAL_POSITION
FROM sys.columns
WHERE object_id = OBJECT_ID('你的数据库名.dbo.你的表名')
ORDER BY column_id;

Oracle

使用user_tab_cols(当前用户权限内的表)、all_tab_cols或dba_tab_cols,COLUMN_ID字段即为列顺序:

SELECT COLUMN_NAME, COLUMN_ID
FROM user_tab_cols
WHERE TABLE_NAME = '你的表名'
ORDER BY COLUMN_ID;

PostgreSQL

查询information_schema.columns的ordinal_position字段:

SELECT column_name, ordinal_position
FROM information_schema.columns
WHERE table_schema = 'public' -- 替换为你的目标schema
  AND table_name = '你的表名'
ORDER BY ordinal_position;

注意:部分数据库的列视图默认不会按顺序返回结果,必须通过ORDER BY指定对应字段,才能得到正确的列顺序。

内容的提问来源于stack exchange,提问作者Al Howarth

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 22:32:05