informix的数据类型列表

匿名 (未验证) 提交于 2019-12-03 00:22:01

在informix11.7上准备了一些数据.
informix有些数据类型的操作用SQL语句执行时,有特定的写法。

informix 11.70 + DbVisualizer v10.0.1 64λ + informix Server Studio 10.0 x86

https://www.ibm.com/support/knowledgecenter/SSGU8G_12.1.0/com.ibm.sqls.doc/sqls.htm https://www.ibm.com/support/knowledgecenter/SSGU8G_12.1.0/com.ibm.sqls.doc/ids_sqs_0228.htm https://www.ibm.com/support/knowledgecenter/SSGU8G_12.1.0/com.ibm.esqlc.doc/ids_esqlc_0168.htm 
  • 一个表中只能有一个serial字段(bigserial or serial)
  • SERIAL类型一定是非空的
  • blob类型无法用update语句来更新
    byte,blob, clob, text 数据类型都是blob数据类型.
    ref : http://www-01.ibm.com/support/docview.wss?uid=swg21652966
    如果是insert blob类型的数据,是用LOAD本地文件来引入blob数据的,没实验。
  • DATETIME和INTERVAL有好多小类型,为什么要这么弄? 这些类型自己实验,实验不出来,对应的类型填什么数据能过, 官方的例子也不多. informix Server Studio完整版是可以通过导出数据的备份SQL来看插入,更新这些数据时,SQL怎么写。可是手头这个informix Server Studio的授权不全,很多功能都没有.
  • 如果sql写错了,可以在Server Studio和DbVisualizer分别执行,总能看到sql执行错误的原因.

寤鸿〃

create table 'informix'.tbl_full_data_type (     col_serial SERIAL not null,     col_boolean boolean,     col_byte BYTE,     col_char CHAR(1),      col_character VARCHAR(1,1),     col_varchar VARCHAR(1,1),     col_nchar NCHAR(1),     col_nvarchar NVARCHAR(1,1),     col_lvarchar lvarchar,      col_smallint SMALLINT,     col_integer INT,     col_int8 INT8,     col_bigint BIGINT,     col_decimal DECIMAL(16),     col_numeric DECIMAL(16),     col_smallfloat SMALLFLOAT,     col_float FLOAT,     col_double FLOAT,      col_blob blob,     col_clob clob,     col_text TEXT,     col_money MONEY(16,2),     col_date DATE,     col_datetime_01 DATETIME FRACTION TO FRACTION,     col_datetime_02 DATETIME SECOND TO FRACTION,     col_datetime_03 DATETIME SECOND TO SECOND,     col_datetime_04 DATETIME MINUTE TO FRACTION,     col_datetime_05 DATETIME MINUTE TO SECOND,     col_datetime_06 DATETIME MINUTE TO MINUTE,     col_datetime_07 DATETIME HOUR TO FRACTION,     col_datetime_08 DATETIME HOUR TO SECOND,     col_datetime_09 DATETIME HOUR TO MINUTE,     col_datetime_10 DATETIME HOUR TO HOUR,     col_datetime_11 DATETIME DAY TO FRACTION,     col_datetime_12 DATETIME DAY TO SECOND,     col_datetime_13 DATETIME DAY TO MINUTE,     col_datetime_14 DATETIME DAY TO HOUR,     col_datetime_15 DATETIME DAY TO DAY,     col_datetime_16 DATETIME MONTH TO FRACTION,     col_datetime_17 DATETIME MONTH TO SECOND,     col_datetime_18 DATETIME MONTH TO MINUTE,     col_datetime_19 DATETIME MONTH TO HOUR,     col_datetime_20 DATETIME MONTH TO DAY,     col_datetime_21 DATETIME MONTH TO MONTH,     col_datetime_22 DATETIME YEAR TO FRACTION,     col_datetime_23 DATETIME YEAR TO SECOND,     col_datetime_24 DATETIME YEAR TO MINUTE,     col_datetime_25 DATETIME YEAR TO HOUR,     col_datetime_26 DATETIME YEAR TO DAY,     col_datetime_27 DATETIME YEAR TO MONTH,     col_datetime_28 DATETIME YEAR TO YEAR,     col_interval_01 INTERVAL FRACTION TO FRACTION,     col_interval_02 INTERVAL SECOND TO FRACTION,     col_interval_03 INTERVAL SECOND TO SECOND,     col_interval_04 INTERVAL MINUTE TO FRACTION,     col_interval_05 INTERVAL MINUTE TO SECOND,     col_interval_06 INTERVAL MINUTE TO MINUTE,     col_interval_07 INTERVAL HOUR TO FRACTION,     col_interval_08 INTERVAL HOUR TO SECOND,     col_interval_09 INTERVAL HOUR TO MINUTE,     col_interval_10 INTERVAL HOUR TO HOUR,     col_interval_11 INTERVAL DAY TO FRACTION,     col_interval_12 INTERVAL DAY TO SECOND,     col_interval_13 INTERVAL DAY TO MINUTE,     col_interval_14 INTERVAL DAY TO HOUR,     col_interval_15 INTERVAL DAY TO DAY,     col_interval_16 INTERVAL MONTH TO MONTH,     col_interval_17 INTERVAL YEAR TO MONTH,     col_interval_18 INTERVAL YEAR TO YEAR )
alter table tbl_full_data_type add (col_BOOLEAN BOOLEAN);  alter table tbl_full_data_type add (         col_CHARACTER CHARACTER VARYING,         col_VARCHAR VARCHAR,         col_nchar nchar,         col_nvarchar nvarchar,         col_lvarchar lvarchar );
INSERT INTO tbl_full_data_type  ( col_serial, col_boolean, col_char,  col_character, col_varchar, col_nchar, col_nvarchar, col_lvarchar, col_smallint, col_integer, col_int8, col_bigint, col_decimal, col_numeric, col_smallfloat, col_float, col_double, col_datetime_03, col_datetime_28 ) VALUES ( 2000, 't', '2',  '3', '4', '5', '6', '7', 8, 9, 10, 11, 12, 13, 14.5, 15.6, 16.7, '58', '1974' ); 

可以抓单个字段的小包

select col_serial from tbl_full_data_type where col_serial = 2000; select col_boolean from tbl_full_data_type where col_serial = 2000; select col_datetime_28 from tbl_full_data_type where col_serial = 2000; select col_nvarchar from  tbl_full_data_type where col_serial = 2000;  select col_nvarchar, col_serial from  tbl_full_data_type where col_serial = 2000; 

boolean 的SQL值为’f’ or ‘t’
‘t’ is true
‘f’ is false

update tbl_full_data_type set      col_BOOLEAN = 'f' where col_serial = 1000  update tbl_full_data_type set         col_DATETIME_01 = '3.5' where col_serial = 1000
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!