字段列-sys_columns
功能描述
sys_columns系统表用于存储、管理系统库和用户库中的所有表字段信息。
字段说明
序号 | 字段名 | 类型 | 说明 |
---|---|---|---|
0 | DB_ID | OID_TYPE | 库ID |
1 | TABLE_ID | OID_TYPE | 表ID |
2 | COL_NO | INTEGER | 字段序号 |
3 | COL_NAME | VARCHAR | 字段名 |
4 | TYPE_NAME | VARCHAR | 类型名 |
5 | SCALE | INTEGER | 数据尺寸 |
6 | IS_HIDE | BOOLEAN | 是否隐藏 |
7 | DELETED | BOOLEAN | 是否删除 |
8 | VARYING | BOOLEAN | 是否变长(对char binary有效) |
9 | NOT_NULL | BOOLEAN | 是否可为空 |
10 | IS_SERIAL | BOOLEAN | 是否为序列值 |
11 | SERIAL_ID | OID_TYPE | 序列值发生器的ID号 |
12 | TIMESTAMP_T | CHAR1 | 时间戳类型'i':仅在插入时计值;'u':更改时计值 |
13 | COLLATOR | VARCHAR | 校验器名 |
14 | DEF_VAL | VARCHAR1024 | 默认值 |
15 | DOMAIN_ID | OID_TYPE | DOMAIN_ID号 |
16 | IS_VIRTUAL | BOOLEAN | 该字段是否是虚字段 |
17 | COMMENTS | VARCHAR | 注释信息 |
18 | REPET_RATE | DOUBLE | 重复率 |
19 | DISPERSION | DOUBLE | 离散度 |
20 | MAX_VAL | VARCHAR1024 | 最大值 |
21 | MIN_VAL | VARCHAR1024 | 最小值 |
22 | HISTOGRAM | CLOB | 柱状图 |
23 | ANA_FLAG | TINYINT | 分析控制标记 |
24 | RESERVED1 | VARCHAR | 保留字段 |
25 | RESERVED2 | VARCHAR | 保留字段 |
26 | RESERVED3 | VARCHAR | 保留字段 |
SCALE
numeric、decimal、interval等类型精度和标度计算规则如下:
- 精度:SHR(scale,16)
- 标度:MOD(scale,65536)
示例
查询表列信息
sqlSQL> CREATE TABLE col_info(id INT,name CHAR,col1 VARCHAR(10),col2 NUMERIC(32,6),col3 INTERVAL YEAR TO MONTH); SQL> SELECT st.table_name,sc.col_no,sc.col_name,sc.type_name,scale,(sc.scale/65536)::INT precision,MOD(sc.scale,65536) scaler,"VARYING",not_null FROM sys_columns sc JOIN sys_tables st ON sc.db_id=st.db_id AND sc.table_id=st.table_id WHERE st.table_name='COL_INFO'; TABLE_NAME | COL_NO | COL_NAME | TYPE_NAME | SCALE | PRECISION | SCALER | VARYING | NOT_NULL | ------------------------------------------------------------------------------ COL_INFO| 0 | ID| INTEGER| -1 | 0 | -1| F | F | COL_INFO| 1 | NAME| CHAR| 1 | 0 | 1| F | F | COL_INFO| 2 | COL1| CHAR| 10 | 0 | 10| T | F | COL_INFO| 3 | COL2| NUMERIC| 2097158 | 32 | 6| F | F | COL_INFO| 4 | COL3| INTERVAL YEAR TO MONTH| 524288 | 8 | 0| F | F |
查询表精度和标度
相关系统表
- sys_databases
- sys_schemas
- sys_tables