如何从Teradata复制列名

如何从Teradata复制列名,teradata,teradata-aster,teradata-sql-assistant,Teradata,Teradata Aster,Teradata Sql Assistant,我想通过在Teradata中运行查询将列名导出到excel工作表中。我使用了ctrl+c,但不起作用。提前感谢。要获取列名,请打开回答集并保存结果集。 文件>另存为>我找到了答案show table table name我经常想报告列和dbc列。列是最好的方法。他们都出来了正确的填充,所以修剪使他们粘贴到excel很好。我还添加了一个case语句,它将为您转换数据类型 sel trim(databasename) , trim(tablename) , trim(columnname) ,

我想通过在Teradata中运行查询将列名导出到excel工作表中。我使用了ctrl+c,但不起作用。提前感谢。

要获取列名,请打开回答集并保存结果集。
文件>另存为>

我找到了答案
show table table name
我经常想报告列和dbc列。列是最好的方法。他们都出来了正确的填充,所以修剪使他们粘贴到excel很好。我还添加了一个case语句,它将为您转换数据类型

sel
  trim(databasename)
, trim(tablename)
, trim(columnname)
, max(case
   when columntype = 'D'  then 'decimal(' || decimaltotaldigits || ', ' || decimalfractionaldigits || ')'
   when columntype = 'CV' then 'varchar(' || columnlength || ')'
   when columntype = 'CF' then 'char('    || columnlength || ')'
   when columntype like 'I%'  then 'integer'
   else 'unknown' end) as colDDL
from dbc.columns where tablename in (<sometableList>)
and databasename in (<someDBList>)
order by column_id

在“结果集视图首选项\复制选项”中更改设置\ 选中“复制包含列标题”


“结果集视图首选项”是“结果集视图”窗口中第一个看起来像钳子的按钮

如果您只是想要一个更好的列名列表,用户
帮助表tablename
或查询
dbc.columnsV
可能按
ColumnId
排序。columns(与所有非V视图一样)是自TD12以来不推荐使用的视图,您最好切换到“dbc.columnsV”。它返回VarChar(128)和Char(30),这也消除了所有这些修剪的需要。
create volatile table vt_woe_col_list
as (
select
  trim(columnname) as column_name
, case when ColumnType in ('CF','CV')             then 'Character'
       when ColumnType in ('D','F','I1','I2','I') then 'Numeric'
       when ColumnType in ('DA')                  then 'Date'
       when ColumnType in ('SZ','TS')             then 'TimeStamp'
       else 'Skip' end as process_type
, case trim(columntype)
    when 'AT' then 'TIME' 
    when 'BF' then 'BYTE'
    when 'BO' then 'BLOB'
    when 'BV' then 'VARBYTE'
    when 'CF' then 'CHAR'
    when 'CO' then 'CLOB'
    when 'CV' then 'VARCHAR'
    when 'D'  then 'DECIMAL'
    when 'DA' then 'DATE'
    when 'DH' then 'INTERVAL DAY TO HOUR'
    when 'DM' then 'INTERVAL DAY TO MINUTE'
    when 'DS' then 'INTERVAL DAY TO SECOND'
    when 'DY' then 'INTERVAL DAY'
    when 'F'  then 'FLOAT'
    when 'GF' then 'GRAPHIC'
    when 'GV' then 'VARGRAPHIC'
    when 'HM' then 'INTERVAL HOUR TO MINUTE'
    when 'HR' then 'INTERVAL HOUR'
    when 'HS' then 'INTERVAL HOUR TO SECOND'
    when 'I1' then 'BYTEINT'
    when 'I2' then 'SMALLINT'
    when 'I'  then 'INTEGER'
    when 'MI' then 'INTERVAL MINUTE'
    when 'MO' then 'INTERVAL MONTH'
    when 'MS' then 'INTERVAL MINUTE TO SECOND'
    when 'SC' then 'INTERVAL SECOND'
    when 'SZ' then 'TIMESTAMP WITH TIME ZONE'
    when 'TS' then 'TIMESTAMP'
    when 'TZ' then 'TIME WITH TIME ZONE'
    when 'YM' then 'INTERVAL YEARTO MONTH'
    when 'YR' then 'INTERVAL YEAR'
    when 'UT' then 'UDT Type'
    end as column_type_desc
,  a.*
from dbc.columns A
where trim(tablename   )='t_woe_data_samp'
  and trim(databasename)= 'DUCSMAD'
) with data
primary index(column_name)
on commit preserve rows;