teradata查询表结构

show table tablename;
help table tablename;
SELECT  UPPER(TRIM(T1.COLUMNNAME)), 
            COALESCE(T1.COLUMNTITLE,'NO TITLE'), 
            CASE WHEN T1.COLUMNTYPE = 'BF' THEN
				       	'BYTE'
				       	WHEN T1.COLUMNTYPE = 'I1' THEN
				       	'BYTEINT'
				       	WHEN T1.COLUMNTYPE = 'VF' THEN
				       	'VARBYTE'
				       	WHEN T1.COLUMNTYPE = 'DA' THEN
				       	'DATE'
				       	WHEN T1.COLUMNTYPE = 'F' THEN
				       	'FLOAT'
				       	WHEN T1.COLUMNTYPE = 'I2' THEN
				       	'SMALLINT'
				       	WHEN T1.COLUMNTYPE = 'I' THEN
				       	'INTEGER'
				       	WHEN T1.COLUMNTYPE = 'CF' THEN
				       	'CHAR('|| TRIM(T1.COLUMNLENGTH) ||')'
				       	WHEN T1.COLUMNTYPE = 'CV' THEN
				       	'VARCHAR('|| TRIM(T1.COLUMNLENGTH) ||')'
				       	WHEN T1.COLUMNTYPE = 'D' THEN
				       	'DECIMAL' || '(' || T1.DECIMALTOTALDIGITS || ',' || T1.DECIMALFRACTIONALDIGITS || ')'
				  ELSE  
				       	 'UNKNOW'
				  END, 
          T1.NULLABLE,
          CASE WHEN T2.COLUMNNAME is NULL THEN 'N' ELSE 'Y' END  
    FROM DBC.COLUMNS T1
    LEFT JOIN DBC.Indices T2
    ON T1.DATABASENAME = T2.DATABASENAME
    AND T1.TABLENAME = T2.TABLENAME
    AND T1.COLUMNNAME = T2.COLUMNNAME
    AND (T2.IndexType = 'Q' or T2.IndexType = 'P')
    WHERE T1.DATABASENAME='p_pdata'
    AND   T1.TABLENAME='ods_prpcmain'
    order by T1.ColumnId;

 

你可能感兴趣的:(Teradata)