视图中列的列类型

Columntype of a column in a view

有什么方法可以找到视图中列的列类型。例如,对于表格,我们可以开火 select Columntype from dbc.tables where tablename=:name and databasename=:name;

但对于视图,上述查询总是 returns 空值。

这是获取视图列的详细元数据的唯一方法:

help column databasename.tablename.*;

来自文档:https://docs.teradata.com/r/Teradata-VantageTM-Database-Administration/March-2019/Working-with-Tables-and-Views-Application-DBAs/Working-with-Views/Obtaining-Information-about-View-Columns

DBC.ColumnsV[X] 视图提供 table 列的完整信息,但仅提供视图列的有限信息。对于视图列,DBC.ColumnsV[X] 为 ColumnType、DecimalTotalDigits、DecimalFractionalDigits、CharType、ColumnLength 和其他与数据类型相关的属性提供 NULL 值。

要获取有关视图列的完整信息,请在 DBC.ColumnsQV[X] 或 DBC.ColumnJQV[X] 上发出 SELECT 请求。 DBC.ColumnsQV[X] 或 DBC.ColumnsJQV[X] 上的 SELECT 请求也可以与其他视图和 tables.

合并

DBC.ColumnsQV[X] 为所有数据库对象提供与 DBC.ColumnsV[X] 相同的信息。 DBC.ColumnsQV[X] 额外提供视图列的完整信息。 DBC.ColumnsJQV[X] 为 tables、NoPI tables 和视图提供与 DBC.ColumnsV[X] 相同的信息,另外 DBC.ColumnsJQV[X]提供视图列的完整信息。 DBC.ColumnsJQV[X] 不提供 tables、NoPI tables 和视图以外的数据库对象的信息。该过滤器提高了 return 仅关于 table 信息和视图的请求的性能。