Informix 查询所有字段类型

1 查询全部字段类型


select a.tabname,b.colname,b.collength b.coltype,
case   b.coltype 
when '0' then 'CHAR' 
when '1' then 'SMALLINT' 
when '2' then 'INTEGER' 
when '3' then 'FLOAT' 
when '4' then 'SMALLFLOAT' 
when '5' then 'DECIMAL' 
when '6' then 'SERIAL' 
when '7' then 'DATE' 
when '8' then 'MONEY' 
when '9' then 'NULL' 
when '10' then 'DATETIME' 
when '11' then 'BYTE' 
when '12' then 'TEXT' 
when '13' then 'VARCHAR' 
when '14' then 'INTERVAL' 
when '15' then 'NCHAR' 
when '16' then 'NVARCHAR'

when '17' then 'INT8' 
when '18' then 'SERIAL8' 
when '19' then 'SET' 
when '20' then 'MULTISET' 
when '21' then 'LIST' 
when '22' then 'Unnamed ROW' 
when '40' then 'LVARCHAR' 
when '41' then 'CLOB' 
when '43' then 'BLOB' 
when '44' then 'BOOLEAN' 
when '256' then 'CHAR' 
when '257' then 'SMALLINT' 
when '258' then 'INTEGER' 
when '259' then 'FLOAT' 
when '260' then 'REAL' 
when '261' then 'DECIMAL' 
when '262' then 'SERIAL' 
when '263' then 'DATE' 
when '264' then 'MONEY' 
when '266' then 'DATETIME' 
when '267' then 'BYTE' 
when '268' then 'TEXT' 
when '269' then 'VARCHAR' 
when '270' then 'INTERVAL' 
when '271' then 'NCHAR' 
when '272' then 'NVARCHAR'
when '273' then 'INT8' 
when '274' then 'SERIAL8' 
when '275' then 'SET' 
when '276' then 'MULTISET' 
when '277' then 'LIST' 
when '278' then 'Unnamed ROW' 
when '296' then 'LVARCHAR' 
when '297' then 'CLOB' 
when '298' then 'BLOB' 
when '299' then 'BOOLEAN'

when '4118' then 'Named ROW' 
end   as   coltypename, b.colno   from systables a left join syscolumns b on a.tabid=b.tabid where a.tabid>99 and a.tabtype='T' order by a.tabname,b.colno;
syscolumns