1. 程式人生 > >Informix資料表結構分析資料整理之欄位型別說明和查詢SQL語句

Informix資料表結構分析資料整理之欄位型別說明和查詢SQL語句

查詢所有Informix資料表字段型別SQL語句:


select a.tabname,b.colname,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;

informix的欄位型別如下:

欄位型別 描述 欄位長度及其預設值

char(size)

用於儲存定長(size)位元組的字串資料。

每行定長(不足部分補為空格);最大長度為254位元組,預設值為每行1位元組。

varchar(size)

用於儲存變長的字串資料。其中最大位元組長度由(size)指定。

每行長度可變,最大長度為254位元組。資料長度預設為1

serial

自動增長型別。

按Integer型儲存。

nchar(size)

雙位元組字串。

每行定長(不足部分補為空格)。 長度(size)是指字元的個數,最大位元組數為254*2。

nvarchar(size)

可變長,雙位元組字串。

每行變長。長度(size)是指字元的個數,最大位元組數為size*2。

real

儲存浮點資料型別,範圍為-2.23E-308到+2.23E-308。

最大長度為8位元組。

interval

用於指定一個時間跨度。

(5-3)year to month、(11:15)hour to minute。

date

日期型。

每行固定為10位元組長度。

datetime

日期時間型。

每行固定為8位元組長度。

integer

儲存整型資料,範圍為-2147483648到+2147483647。

最大長度為4位元組32 - 1位元組或4G。

smallint

儲存整型資料,範圍為-32768到+32767

最大長度為2位元組32 - 1位元組或4G。

float

儲存浮點資料型別,範圍為-2.23E-308到+2.23E-308。

最大長度為8位元組。

smallfloat

儲存浮點資料型別,範圍為-2.23E-308到+2.23E-308。

最大長度為8位元組。

money(p,s)

儲存精確數值資料型別,範圍為-10E-38到+10E-38,p是精度,總小數位數(1~38),s是小數位(小數位小於等於p)

最大長度為2~17位元組。

decimal(p,s)

儲存精確數值資料型別,範圍為-10E-38到+10E-38,p是精度,總小數位數(1~38),s是小數位(小數位小於等於p)

最大長度為2~17位元組。

text

儲存2GB長度以內的文字資料。

最大長度為2G。

byte

儲存2GB長度以內的二進位制資料。

最大長度為2G。