informix sql函数使用说明大全

合集下载

informix函数大全

informix函数大全
8、基数函数:
1)cardinality(仅适用IDS)函数对集合包含的元素数目计数。
智能大对象函数,(仅适用与IDS)
filetoblob( ),将文件复制到BLOB列中
filetoclob( ),将文件复制到CLOB列中
4)SUM(DISTINCT COLNAME) 返回指定列中唯一值的和
5)AVG(COLNAME/EXPRESSION) 返回指定列或表达式中的数值平均值
6)AVG(DISTINCT COLNAME) 返回指定列中唯一值的平均值
lpad,使用lpad函数已用重复次数达到必要次数的字符序列在左边填充或截断的字符串的副本,这取决于字符串中填充部分的指定长度。
举例:字段 col 为char(15)类型,select lpad(col,21,”_”) from tab_name则显示为在col前加上六个_。
2)MOD(COLNAME/EXPRESSION,DIVISOR) 返回除以除数后的模(余数)
3)POW(COLNAME/EXPRESSION,EXPONENT) 返回一个值的指数冥
例子:let tmp_float = pow(2,3) --8.00000000
initcap,将字符串中每个词的首写字母转换成大写
replace,将字符串中的某一组字符转换成其他字符,例replace(col,”each”,”eve”)
substr,返回字符串中的某一部分,例substr(col,1,2)
substring,返回字符串中的某一部分,例substring(col,from 1 to 4)
Nvl,来将求值为空的表达式转化为另一个想要指定的值。
另外还可以在select语句中使用存储过程,如select spl($test) from tab_name

Informix数据库dbaccess工具执行SQL语句操作说明

Informix数据库dbaccess工具执行SQL语句操作说明

【文档名称】:Informix数据库dbaccess工具执行SQL语句操作说明【背景说明】部分工程经常要对数据库进行操作,而各省客服及驻点同事对相关操作不熟悉,现整理一份实用的操作说明。

【适用范围】适用设备:Informix-9.4,Informix-11.5【文档正文】1)用informix账户登录操作系统,在开始菜单中打开“ol_实例名”。

2)直接输入dbaccess并回车。

选择Connection,然后选择Connect。

3)选择数据库实例。

一般只有一个,直接回车即可。

4)输入用户名informix,回车。

5)输入数据库密码,回车。

6)下方提示已连接。

7)直接按回车,然后选择Exit回车。

8)选择第一个Query-language回车。

9)选择Use-editor回车。

10)直接回车,默认用记事本打开编辑器。

11)将SQL语句粘贴到记事本。

12)关闭,选择保存,然后选择Run,回车,查看返回结果是否成功。

常用SQL语句:1、导出某张表。

(需注意当前用户对该目录是否有写入权限,否则会导出失败)unload to 'C:\_analarmtype' select * from _analarmtype; 导出_analarmtype表并保存到C盘根目录。

2、删除某张表。

delete from _analarmtype;3、导入某张表。

load from 'C:\ _analarmtype ' insert into _analarmtype;4、查询某张表的条目数。

select count(*) from analarmhis; 查询历史告警条目数select count(*) from ancurrentalarm; 查询当前告警条目数DBACCESS基本讲解.doc。

informix函数

informix函数

Informix函数在Informix数据库中,函数是一个可重复使用的代码块,用于执行特定的操作或计算。

函数可以接收参数并返回结果。

本文将介绍Informix中常用的函数,并提供相应的示例和说明。

1. 字符串函数1.1 LOWER()LOWER()函数将指定字符串中的大写字母转换为小写字母。

示例:SELECT LOWER('Hello World') AS lower_string;输出:lower_string--------------hello world1.2 UPPER()UPPER()函数将指定字符串中的小写字母转换为大写字母。

SELECT UPPER('Hello World') AS upper_string;输出:upper_string--------------HELLO WORLD1.3 LENGTH()LENGTH()函数返回指定字符串的长度。

示例:SELECT LENGTH('Hello World') AS string_length;输出:string_length--------------112. 数值函数2.1 ABS()ABS()函数返回指定数值的绝对值。

SELECT ABS(-10) AS absolute_value;输出:absolute_value-------------102.2 ROUND()ROUND()函数将指定数值四舍五入到指定的小数位数。

示例:SELECT ROUND(3.14159, 2) AS rounded_value;输出:rounded_value--------------3.142.3 MOD()MOD()函数返回两个数值相除的余数。

示例:SELECT MOD(7, 3) AS remainder;输出:remainder---------13. 日期函数3.1 CURRENTCURRENT函数返回当前日期和时间。

INFORMIX函数大全

INFORMIX函数大全

目录INFORMIX数据类型 (2)表达式用途 (3)表达式 (4)校正表达式 (4)条件表达式 (4)一般性CASE表达式 (4)线形CASE表达式 (5)常量表达式 (5)引号字符串表达式 (6)函数清单 (6)ABS函数 (9)DBINFO函数 (10)CARDINALITY函数 (14)长度函数 (14)DA TE函数 (15)DAY函数 (15)三角函数 (16)ACOS函数 (16)ASIN函数 (16)ATAN函数 (16)ATAN2函数 (16)COUNT函数 (17)COUNT(*)函数 (17)COUNT DISTINCT和COUNT UNIQUE函数 (17)A VG函数 (18)USER函数 (18)DBSERVERNAME 和SITENAME函数 (18)TODAY函数 (18)CURRENT函数 (18)DA TETIME (19)COLUMN (19)Concatonation 运算符 (19)DECODE函数 (19)EXP函数 (20)EXTEND函数 (20)FILETOBLOB函数和FILETOCLOB函数 (21)HEX函数 (22)IFX_ALLOW_NEWLINE函数 (22)IPX_REPLACE_MODULE函数 (22)INITCAP函数 (23)LOCOPY函数 (23)LOGN函数 (24)LOGN10函数 (24)LOTOFILE函数 (25)LOWER函数 (26)LPAD(源字符串,长度,嵌入字符串) (26)RPAD(源字符串,长度,嵌入字符串) (26)MAX(数字列|数字表达式) (26)MIN(数字列|数字表达式) (26)MDY(expr1,expr2,expr3) (26)MOD(被除数,除数) (26)MONTH(date/dtime_expr) (26)NVL(表达式1,表达式2) (27)OCTET_LENGTH(变量名|列命) (27)POW(底数,指数) (27)RANGE(数字列|数字表达式) (27)REPLACE(源字符串,匹配字符串,新字符串) (27)ROOT(被开方数,指数) (27)ROUND(数字表达式,圆整系数) (27)SIN(弧度) (27)SITENAME (27)STDEV(数字列) (27)SUBSTR(源字符串,开始位置,长度) (27)SUM(数字列|数字表达式) (28)TAN(弧度) (28)TO_CHAR(DA TE|DA TETIME,格式字符串) (28)TO_DATE(字符表达式,格式字符串) (28)TODAY (28)TRIM([LEADING|TRAILING|BOTH] trim_expr FROM source_expr) (28)TRUNC(表达式,截去系数) (29)UPPER(源字符串) (29)V ARIANCE(数字列) (29)WEEKDAY(date|dtime_expr) (29)YEAR(date|dtime_expr) (29)INFORMIX数据类型表达式用途表达式校正表达式CAST(表达式::target_data_type AS target_data_type)可以用CAST AS关键字或双冒号校正操作符(::)将一种数据类型的表达式校正为另一种数据类型的表达式。

Informix数据库SQL介绍

Informix数据库SQL介绍

Informix数据库SQL介绍INFORMIX SQL 介绍⼀、简介:1)、INFORMIX主要产品分为三⼤部分:; 数据库服务器(数据库核⼼); 应⽤开发⼯具; ⽹络数据库互联产品2)、数据库服务器有两种,作⽤都是提供数据操作和管理:; SE:完全基UNIX操作系统,主要针对⾮多媒体的较少⽤户数的应⽤; ONLINE:针对⼤量⽤户的联机事务处理和多媒体应⽤环境3)、应⽤开发⼯具是⽤以开发应⽤程序必要的环境和⼯具,主要也有两个系列:; 4GL:INFORMIX传统的基字符界⾯的开发⼯具,该系列的主要产品有五个,他们是I-SQL、4GL RDS、4GL C COMPILER、4GL ID和ESQL/C;; NewEra:INFORMIX最新提供的具有事件驱动能⼒、⾯向对象的基各种图形界⾯的开发⼯具。

4)、INFORMIX的⽹络数据库互联产品:提供给⽤户基多种⼯业标准的应⽤程序接⼝,通过它可以和其它遵守这些⼯业标准的数据库联接。

⼆、I-SQL菜单简介:Form可以执⾏、创建、修改、编译屏幕格式或删除已存在的屏幕格式Run执⾏某⼀已经存在的屏幕格式Modify修改指定的已经存在的屏幕格式Generate 为指定的表创建⼀个缺省的屏幕格式Compile编译⼀个制定的屏幕格式New创建特定的⽤户屏幕格式Drop删除某已经存在的格式⽂件Exit退出Form菜单Report 可以执⾏、建⽴、修改、编译、或删除报表Run执⾏某⼀报表Modify修改指定的报表Generate 为某⼀个表建⽴⼀个缺省的报表New建⽴⼀个⽤户指定的报表Compile编译指定的报表Drop删除⼀个指定的已经存在的报表Exit退出Report菜单Query-Language详见实⽤程序说明:dbaccessUser-menu 可以执⾏、建⽴或修改⽤户建⽴的菜单Run执⾏当前数据库的⽤户菜单Modify允许⽤户建⽴或修改⽤户菜单Exit退出User-menu菜单Database详见实⽤程序说明:dbaccessTable详见实⽤程序说明:dbaccessExit退出实⽤程序isqlrf(或isql)三、常⽤操作:; 创建数据库ISQL==》DATABASE==》CREATE==》输⼊新建数据库名称; 创建表ISQL==》TABLE==》CREATE==》输⼊欲建的表名==》ADD==》输⼊欲建的字段名及类型等==》EXIT==》BUILD-NEW-TABLE; ⽣成缺省表格式ISQL==》FORM==》GENERATE=》选择数据库==》输⼊表格式名称==》选择表==》TABLE-SELECTION-COMPLETE-----》编译成功==》RUN四、使⽤RDSQL(交互式查询语⾔)编写SQL语句⽅法:ISQL==》Query Langavage==》NEW==》RUN; 建⽴数据库CREATE DATABASE数据库名; 建表(格式及可选数据类型)基本格式:CREATE TABLE表名(字段名类型,字段名类型,---字段名类型);详细定义:CREATE TABLE表名(COL1INTEGER NOT NULL,COL2CHAR(2)CHECK ( COL2IN (“??”,“??”),COL3DATE DEFAULT TODAY,COL4SMALLINT UNIQUE,---字段名类型)FRAGMENT BY ROUND ROBIN (BY EXPRESSION)IN DB1,DB2EXTENT SIZE 1000 NEXT SIZE 600WITH NO LOG (LOG;BUFFERED LOG;LOG MODE ANSILOCK MODE ROW(PAGE);例1:CREATE TABLE ORDERS(ORDER_NUM INTEGERUNIQUE CONSTRAINT ORDER_NUM_UQ,ORDER_DATE DATENOT NULL CONSTRAINT ORDER_DA TE_NNDEFAULT TODAY ;例2:CREATE TABLE CUSTOMER (CUSTOMER_NUM SERIAL,FNAME CHAR(20),PRIMARY KEY (CUSTOMER_NUM)CONSTRAINT PK_CNUM);CREATE TABLE ORDERS (ORDER_NUM SERIAL,CUSTOMER_NUM INTEGER,FOREIGN KEY (CUSTOMER_NUM)REFERENCES CUSTOMERCONSTRAINT FK_CNUM);数据类型:字符型(CHAR(20)),V ARCHAR(MINSIZE, MAXSIZE)数值型(六种,DECIMAL(16,2),SMALLINT,INTEGER,SMALLFLOAT,FLOAT,SERIAL ) ⽇期型( DATE,默认格式为:MM/DD/YYYY )**要修改DATE类型的缺省格式, 只要在⽤户主⽬录的.profile⽂件中做如下说明: DBDATE=Y4MD/EXPORT DBDA TE**货币型(MONEY (8,2))其它(如:INTERV AL,DA TETIME等); 建⽴索引(必须建⽴命名索引)CREATE[ UNIQUE ]INDEX索引名ON表名(字段名)CREATE[ UNIQUE ]INDEX索引名ON表名(字段名)DISABLED;SET INDEXES索引名ENABLEDDROP INDEX索引名; 数据库权限CONNECT:访问数据库RESOURCE:允许⽤户建⽴或清除数据库中的表和索引DBA:数据库管理员,所有权限,⼀般建表者即为DBAGRANT权限TO〈PUBLIC | ⽤户名〉REVOKE权限FROM〈PUBLIC | ⽤户名〉; 检索数据库DA TABASE数据库名SELECT * FROM表名SELECT字段名,字段名FROM表名SELECT字段名,字段名+-*/新字段名FROM表名SEKECT A VG(字段) ,MIN(),MAX(),SUM(),COUNT()FROM表名WHERE⼦句 =〈〉!=< <=>>=MATCHES* 0多个? 单个[ ] 单个字符或⼀个范围\ 转义下⼀个字符LIKE %:0--多个 _ 单个\ 转义下⼀个特殊字符ORDER BY(DESC)时间函数: DAY MDY MONTH WEEKDAY YEAR DATE CURRENT其它函数:LENGTH USER CURRENT TODAY从多个表中查找, SELECT嵌套字段名不同可直接写出,若不同表中有相同字段名,则前缀表名SELECT表⼀.字段名FROM表⼀, 表⼆向表中插⼊数据INSERT INTO表名 [ 列1, 列2。

informix的常用SQL语句

informix的常用SQL语句

informix的常用SQL语句1、创建数据库eg1. 创建不记录日志的库testdb,参考语句如下:CREATE DATABASE testdb;eg2. 创建带缓冲式的记录日志的数据库testdb(SQL语句不一定在事务之中,拥有者名字不被用于对象的解析),参考语句如下:CREATE DATABASE testdb WITH BUFFERED LOG;eg3. 创建无缓冲式的记录日志的数据库testdb(SQL语句不一定在事务之中,拥有者名字不被用于对象的解析),参考语句如下:CREATE DATABASE testdb WITH LOG;eg4. 创建ANSI的数据库(记录日志时无缓冲,SQL总在事务之中,拥有者名字被用于对象的解析),参考语句如下:CREATE DATABASE testdb WITH LOG MODE ANSI;2、创建普通数据表普通数据表又被称为持久数据表,它在system catalog里注册。

一个普通数据表可对多个sessi on和connection。

创建时可以指定dbspace。

eg1、如下语句创建了一个集团信息表cti_vccinfo:create table cti_vccinfo(vccid CHAR(6) not null,vccname VARCHAR(255),effective INTEGER default0not null,agentmax INTEGER default0not null,ivrmax INTEGER default0not null,updatekey VARCHAR(30),primary key(vccid) constraint PK_CTI_VI);3、创建临时数据表临时数据表不在system catalog里注册。

一个临时数据表只对对应的某个session或connectio n可见,在对应的session或connection结束时被自动清除。

INFORMIX数据库函数

INFORMIX数据库函数

一、内部函数1、内部合计函数1)COUNT(*)返回行数2)COUNT(DISTINCT COLNAME)返回指定列中唯一值的个数3)SUM(COLNAME/EXPRESSION)返回指定列或表达式的数值和;4)SUM(DISTINCT COLNAME)返回指定列中唯一值的和5)AVG(COLNAME/EXPRESSION)返回指定列或表达式中的数值平均值6)AVG(DISTINCT COLNAME)返回指定列中唯一值的平均值7)MIN(COLNAME/EXPRESSION)返回指定列或表达式中的数值最小值8)MAX(COLNAME/EXPRESSION)返回指定列或表达式中的数值最大值2、日期与时间函数1)DAY(DATE/DATETIME EXPRESSION)返回指定表达式中的当月几号2)MONTH(DATE/DATETIME EXPRESSION)返回指定表达式中的月份3)YEAR(DATE/DATETIME EXPRESSION)返回指定表达式中的年份4)WEEKDAY(DATE/DATETIME EXPRESSION)返回指定表达式中的当周星期几5)DATE(NOT DATE EXPRESSION)返回指定表达式代表的日期值6)TODAY 返回当前日期的日期值7)CURRENT[FIRST TO LAST] 返回当前日期的日期时间值8)COLNAME/EXPRESSION UNITS PRECISION 返回指定精度的指定单位数9)MDY(MONTH,DAY,YEAR)返回标识指定年、月、日的日期值10)DATETIME(DATE/DATETIME EXPRESSION)FIRST TO LAST 返回表达式代表的日期时间值11)INTERVAL(DATE/DATETIME EXPRESSION)FIRST TO LAST 返回表达式代表的时间间隔值12)EXTEND(DATE/DATETIME EXPRESSION,[FIRST TO LAST])返回经过调整的日期或日期时间值To_char函数将datetime和date值转化为字符值。

informixsql函数使用说明大全

informixsql函数使用说明大全

informixsql函数使用说明大全informix sql函数使用说明大全一、内部函数1、内部合计函数1)COUNT(*)返回行数2)COUNT(DISTINCT COLNAME)返回指定列中唯一值的个数3)SUM(COLNAME/EXPRESSION)返回指定列或表达式的数值和;4)SUM(DISTINCT COLNAME)返回指定列中唯一值的和5)AVG(COLNAME/EXPRESSION)返回指定列或表达式中的数值平均值6)AVG(DISTINCT COLNAME)返回指定列中唯一值的平均值7)MIN(COLNAME/EXPRESSION)返回指定列或表达式中的数值最小值8)MAX(COLNAME/EXPRESSION)返回指定列或表达式中的数值最大值2、日期与时间函数1)DAY(DATE/DATETIME EXPRESSION)返回指定表达式中的当月几号2)MONTH(DATE/DATETIME EXPRESSION)返回指定表达式中的月份3)YEAR(DATE/DATETIME EXPRESSION)返回指定表达式中的年份4)WEEKDAY(DATE/DATETIME EXPRESSION)返回指定表达式中的当周星期几5)DATE(NOT DATE EXPRESSION)返回指定表达式代表的日期值6)TODAY 返回当前日期的日期值7)CURRENT[FIRST TO LAST] 返回当前日期的日期时间值8)COLNAME/EXPRESSION UNITS PRECISION 返回指定精度的指定单位数9)MDY(MONTH,DAY,YEAR)返回标识指定年、月、日的日期值10)DATETIME(DATE/DATETIME EXPRESSION)FIRST TO LAST 返回表达式代表的日期时间值11)INTERVAL(DATE/DATETIME EXPRESSION)FIRST TO LAST 返回表达式代表的时间间隔值12)EXTEND(DATE/DATETIME EXPRESSION,[FIRST TO LAST])返回经过调整的日期或日期时间值select current year to second from systablesTo_char函数将datetime和date值转化为字符值。

Informix数据库(增、删、改、查)操作

Informix数据库(增、删、改、查)操作
n owner species sex
Fluffy Harold cat
Clasws Gwen cat
Bowser Gwen dog
3 row(s) retrieved.
Sex列已经在pet表中了
接下来我们可以用update添加sex的属性值:
[test@datacenter ~]$ isql -s test<<!
现在用第三种发放“insert into表名字段values值”插入数据:
[test@datacenter ~]$ isql -s test<<!
> insert into pet (name,owner,species,sex) values ('Fluffy','Harold','cat','f')
> !
name owner species sex
Fluffy Haroldcat f
Clasws Gwen cat m
2 row(s) retrieved.
可以看见pet.txt文件中的命令已经插入到表pet中(第二行)。由于权限问题,不能进入菜单进行手动操作,故第二种方法在我的机器上不能进行。
第四种方法是把命令写进文件里,然后输入命令isql -s test<文件名,回车,现在我把命令写进pet.txt中:
[test@datacenter ~]$ isql -s test<<!
> alter table pet
> add sex char(1)
> !
Table altered.
查看一下:
[test@datacenter ~]$ isql -s test<<!

一些Informix+SQL函数的用法及日期操作

一些Informix+SQL函数的用法及日期操作

一些Informix SQL函数的用法一、内部函数1、内部合计函数1)COUNT(*)返回行数2)COUNT(DISTINCT COLNAME)返回指定列中唯一值的个数3)SUM(COLNAME/EXPRESSION)返回指定列或表达式的数值和;4)SUM(DISTINCT COLNAME)返回指定列中唯一值的和5)A VG(COLNAME/EXPRESSION)返回指定列或表达式中的数值平均值6)A VG(DISTINCT COLNAME)返回指定列中唯一值的平均值7)MIN(COLNAME/EXPRESSION)返回指定列或表达式中的数值最小值8)MAX(COLNAME/EXPRESSION)返回指定列或表达式中的数值最大值2、日期与时间函数1)DAY(DATE/DATETIME EXPRESSION)返回指定表达式中的当月几号2)MONTH(DATE/DATETIME EXPRESSION)返回指定表达式中的月份3)YEAR(DA TE/DATETIME EXPRESSION)返回指定表达式中的年份4)WEEKDAY(DA TE/DA TETIME EXPRESSION)返回指定表达式中的当周星期几5)DATE(NOT DATE EXPRESSION)返回指定表达式代表的日期值6)TODAY返回当前日期的日期值7)CURRENT[first to last]返回当前日期的日期时间值8)COLNAME/EXPRESSION UNITS PRECISION返回指定精度的指定单位数9)MDY(MONTH,DAY,YEAR)返回标识指定年、月、日的日期值10)DATETIME(DA TE/DA TETIME EXPRESSION)FIRST TO LAST 返回表达式代表的日期时间值11)INTERV AL(DA TE/DA TETIME EXPRESSION)FIRST TO LAST 返回表达式代表的时间间隔值12)EXTEND(DATE/DATETIME EXPRESSION,[first to last])返回经过调整的日期或日期时间值例子1、和UNITS合用,指定日期或时间单位(year,month,day,hour,minute,second,fraction):let tmp_date = TODAY+ 3 UNITS day例子2、let tmp_date = MDY(10,30,2002)-- 2002-10-30例子3、let tmp_date = today + interval(7) day to day--当前时间加上7天;注:该功能与1相似;例子4、EXTEND转换日期或日期时间值let tmp_inthour = EXTEND(datetime1,hour to hour)3、代数函数1)ABS(COLNAME/EXPRESSION):取绝对值2)MOD(COLNAME/EXPRESSION,DIVISOR)返回除以除数后的模(余数)3)POW(COLNAME/EXPRESSION,EXPONENT)返回一个值的指数冥例子:let tmp_float = pow(2,3)--8.000000004)ROOT(COLNAME/EXPRESSION,[index])返回指定列或表达式的根值5)SQRT(COLNAME/EXPRESSION)返回指定列或表达式的平方根值6)ROUND(COLNAME/EXPRESSION,[factor])返回指定列或表达式的圆整化值7)TRUNC(COLNAME/EXPRESSION,[factor])返回指定列或表达式的截尾值说明:上两者中FACTOR指定小数位数,若不指定,则为0;若为负数,则整化到小数点左边;注:ROUND是在指定位上进行4舍5入;TRUNC是在指定位上直接截断;let tmp_float = ROUND(4.555,2) --4.56let tmp_float = TRUNC(4.555,2) --4.554、指数与对数函数1)EXP(COLNAME/EXPRESSION)返回指定列或表达式的指数值2)LOGN(COLNAME/EXPRESSION)返回指定列或表达式的自然对数值3)LOG10(COLNAME/EXPRESSION)返回指定列或表达式的底数位10的对数值5、三角函数1)COS(RADIAN EXPRESSION)返回指定弧度表达式的余弦值2)SIN(RADIAN EXPRESSION)正弦3)TAN(RADIAN EXPRESSION)正切4)ACOS(RADIAN EXPRESSION)反余弦5)ASIN(RADIAN EXPRESSION)反正弦6)ATAN(RADIAN EXPRESSION)反正切7)ATAN2(X,Y)返回坐标(X,Y)的极坐标角度组件6、统计函数1)RANGE(COLNAME)返回指定列的最大值与最小值之差= MAX (COLNAME)-MIN(COLNAME)2)V ARIANCE(COLNAME)返回指定列的样本方差;3)STDEV(COLNAME)返回指定列的标准偏差;7、其他函数1)USER返回当前用户名2)HEX(COLNAME/EXPRESSION)返回指定列或表达式的十六进制值3)LENGTH(COLNAME/EXPRESSION)返回指定字符列或表达式的长度4)TRIM(COLNAME/EXPRESSION)删除指定列或表达式前后的字符5)COLNAME/EXPRESSION || COLNAME/EXPRESSION返回并在一起的字符;二、IDS内部函数1、DBSERVERNAME返回数据库服务器名let tmp_char=DBSERVERNAME2、SITENAME返回数据库服务器名let tmp_char=SITENAME说明:两者功能相同;3、DBINFO(‘SPECIAL_KEYWORD')返回只关键字值例子1:返回数据中每个表的DBSPACE名称select dbinfo('dbspace',partnum),tabname from systableswhere tabid>99 and tabtype='T'(OK)例子2:返回任何表中插入的最后一个SERIAL值select dbinfo('sqlca.sqlerrd1') from systables where tabid = 1例子3:返回最后一个SELECT,INSERT,UPDATE,DELETE或EXECUTE PROCEDURE语句处理的行数;select dbinfo('sqlca.sqlerrd2') from systables where tabid=1;Date Manipulation (日期操作)One of the more difficult concepts in Informix's handling of date and time values concerns the use of the variables in arithmetic or relational expressions. You can add or subtract DA TE and DA TETIME variables from each other. You can add or subtract an INTERV AL to a DATE or DA TETIME. Table 1 shows the results of different types of operations on DA TE and DA TETIME values.Notice that it's always okay to subtract one DA TE or DATETIME value from another, as shown here:CURRENT - "07/01/1950" = INTERV AL (my age)"12/25/2000" – CURRENT = INTERV AL (how long till Xmas?)In such a case, the result is always an INTERV AL variable. It would make no sense to add two DA TE or DATETIME values together. What could such an addition represent?UNITS KeywordWhen working with INTERV AL values, sometimes it is necessary to specify the precision with which you are dealing. For example, suppose you have the following field defined:lead_time INTERV AL DAY to DAYTo add 10 days to the lead time you could use a SQL statement like this:SELECT lead_time + INTERV AL(10) DAY to DAYFROM orders;You could achieve the same results using the UNITS keyword:SELECT lead_time + 10 UNITS DAYFROM orders;Like most other programming languages, SQL often allows you to achieve the same ends with different statements. Sometimes the choice is one of personal style. Other times, one format fits in better with a structured style of code writing than another format does.FunctionsThere are several built-in functions that affect date and time calculations. They can apply to either DA TE or DATETIME values, with some exceptions.TODAYThe TODAY function returns a DA TE data value representing the current date. For example, you could execute a SQL function like this:UPDATE member SET change_date = TODAYWHER member_number = 12345;CURRENTThe CURRENT function is similar to the TODAY function, except it returns a DATETIME value. Without specific qualifiers, the default is YEAR to FRACTION(3). You can change the precision by using the same YEAR to FRACTION qualifiers as you use for DATETIMES. Thus, this would be legal:SELECT * from memberWHERE elapsed_time < CURRENT YEAR to DAYDATEThe DATE function takes as input a non-DA TE value such as CHAR, DATETIME, or INTEGER and returns the corresponding DATE value. For example, the following SQL translates a CHARACTER value to a DATE:SELECT * from memberWHERE enrollment_date > DA TE('01/01/99');DAYThis function returns an integer representing the day of the month. Here's an example:SELECT * from memberWHERE DAY(enrollment_date) > DAY(CURRENT);MONTHThis performs like the DAY function except it returns an integer between 1 and 12 representing the month:SELECT * from memberWHERE enrollment_date > MONTH('01/01/99');WEEKDAYThis returns an integer representing the day of the week, with 0 being Sunday and 6 being Saturday:SELECT * from memberWHERE WEEKDAY(enrollment_date) > WEEKDAY(CURRENT);YEARThis function is like the ones above, only it returns a four-digit integer representing the year.EXTENDThis function allows you to use different precisions in a DATETIME than you have specified in the declaration of the variable. It uses the same FIRST to LAST syntax as the DATETIME variables. This function is used to adjust the precision of a DA TETIME variable to match the precision of an INTERV AL that you are using in a calculation. If the INTERV AL value has fields that are not part of the DATETIME value that you are using in a calculation, use the EXTEND function to adjust the precision of the DA TETIME. EXTEND can either increase or decrease the precision of a DATETIME, depending upon the FIRST and LAST values.Suppose myvariable is declared as DA TETIME YEAR to DAY. If you want to add or subtract an INTERV AL defined as MINUTE, you first have to extend the DATETIME as follows:SELECT EXTEND(myvariable, YEAR to MINUTE) –INTERV AL(5) MINUTE to MINUTEFROM memberThe resulting value will be DATETIME YEAR to MINUTE;MDYThe MDY function converts three-integer values into a DATE format. The first integer is the month and must evaluate to an integer in the range 1–12. The second integer is the day and must evaluate to a number in the range from 1 to however many days are in the particular month (28–31). The third expression is the year and must be a four-digit integer. Thus, the following MDY functions would each be valid:MDY(7,1,1950)returns a DATE of "07/01/50"MDY(MONTH(TODAY), 1, YEAR(TODAY))returns a DATE equal to the first day of the current month in the current yearInformix has extensive capabilities for manipulating dates and times, which can make for long and complex SQL statements. Using the three time-related data types and the time-related functions and keywords, you can accomplish almost any type of manipulation of time data. Unfortunately, getting there may be cryptic and painful. If you regularly do extensive date and time manipulation, you should understand all of the intricacies of these data structures.Have fun!。

(最新)informix SQL汇总(包括效率分析)(精品文档)

(最新)informix SQL汇总(包括效率分析)(精品文档)

informix SQL汇总每个数据库管理系统(DBMS)都有其自己的数据处理语言(DML),但所有DML都基于一种语言SQL语言——结构化查询语言(SQL),其发音为“sequel”或“S-Q-L”。

目前SQL的前身是E.F.Codd博士70年代发明的。

第一个实现是在76年,称为sequel。

而SQL首先被采用是在IBM的System R项目中。

86年10月由ANSI确定为正式的关系查询语言标准。

ISO在对其修改后在90年制定为国际工业标准。

无论进行何种数据库学习,SQL语言都是必学内容。

在我国数据库语言SQL标准(GB12991)中规定了两个数据库语言的语法与语义:模式定义语言(SQL-DDL),描述SQL数据库的结构与完整性的约束;数据操纵语言(SQL-DML),描述操作数据库的执行语句在本文章中涉及以上两个中的主要部分,(为叙述方便,以下对其统称为SQL),由于SQL 在嵌入C时表现略有不同,所以下面均以非嵌入时的SQL进行。

另外本文章也不是SQL的入门教材,阅读者应学习并实际用SQL操作过某种数据库。

如果你系统学习过数据库理论,又能熟练操作INFORMIX关系数据库,甚至从事过有关数据库程序的设计,还那么作者在此恭喜你了。

如果你尚未系统学习过数据库理论,并对INFORMIX数据库了解甚少,建议你先阅读有关的文档。

informix SQL汇总【主要SQL语句详解】CREATE DATABASE database_name [WITH LOG IN “pathname”]创建数据库。

database_name:数据库名称。

“pathname”:事务处理日志文件。

创建一database_name.dbs目录,存取权限由GRANT设定,无日志文件就不能使用BEGIN WORK等事务语句(可用START DATABASE语句来改变)。

可选定当前数据库的日志文件。

如:select dirpath form systables where tabtype = “L”;例:create databse customerdb with log in “/usr/john/log/customer.log”;DATABASE databse-name [EXCLUSIVE]选择数据库。

Informix_SQL使用汇总

Informix_SQL使用汇总

informix SQL汇总每个数据库管理系统(DBMS)都有其自己的数据处理语言(DML),但所有DML都基于一种语言SQL语言——结构化查询语言(SQL),其发音为―sequel‖或―S-Q-L‖。

目前SQL的前身是E.F.Codd博士70年代发明的。

第一个实现是在76年,称为sequel。

而SQL首先被采用是在IBM的System R项目中。

86年10月由ANSI确定为正式的关系查询语言标准。

ISO在对其修改后在90年制定为国际工业标准。

无论进行何种数据库学习,SQL语言都是必学内容。

在我国数据库语言SQL标准(GB12991)中规定了两个数据库语言的语法与语义:模式定义语言(SQL-DDL),描述SQL数据库的结构与完整性的约束;数据操纵语言(SQL-DML),描述操作数据库的执行语句在本文章中涉及以上两个中的主要部分,(为叙述方便,以下对其统称为SQL),由于SQL 在嵌入C时表现略有不同,所以下面均以非嵌入时的SQL进行。

另外本文章也不是SQL的入门教材,阅读者应学习并实际用SQL操作过某种数据库。

如果你系统学习过数据库理论,又能熟练操作INFORMIX关系数据库,甚至从事过有关数据库程序的设计,还那么作者在此恭喜你了。

如果你尚未系统学习过数据库理论,并对INFORMIX数据库了解甚少,建议你先阅读有关的文档。

informix SQL汇总【主要SQL语句详解】CREATE DATABASE database_name [WITH LOG IN ―pathname‖]创建数据库。

database_name:数据库名称。

―pathname‖:事务处理日志文件。

创建一database_name.dbs目录,存取权限由GRANT设定,无日志文件就不能使用BEGIN WORK等事务语句(可用START DATABASE语句来改变)。

可选定当前数据库的日志文件。

如:select dirpath form systables where tabtype = ―L‖;例:create databse customerdb with log in ―/usr/john/log/customer.log‖;DATABASE databse-name [EXCLUSIVE]选择数据库。

sqllinform使用技巧

sqllinform使用技巧

sqllinform使用技巧SQL(Structured Query Language)是一种用于管理和操作关系型数据库的标准化语言。

在SQL中,INFORM(或者称为Informix)是一种常用的关系型数据库管理系统(RDBMS)。

本文将介绍一些SQL/INFORM的使用技巧,帮助读者更好地理解和运用这个强大的工具。

一、使用注释在编写SQL语句时,合理使用注释可以提高代码的可读性和可维护性。

在INFORM中,可以使用"--"来注释单行,或者使用"/* */"来注释多行。

例如:-- 这是一个单行注释/*这是一个多行注释可以有多行内容*/通过使用注释,可以向其他开发人员解释代码的用途和逻辑,方便代码的维护和修改。

二、使用别名在进行查询时,可以使用别名给表名、列名或查询结果命名,方便后续引用。

使用别名可以简化SQL语句,提高可读性。

例如:SELECT emp_id AS ID, emp_name AS Name, emp_salary AS SalaryFROM employee在这个例子中,给emp_id、emp_name和emp_salary分别起了别名ID、Name和Salary。

在查询结果中,可以直接使用别名引用这些列。

三、使用通配符通配符是用来模糊匹配数据的特殊字符。

在INFORM中,常用的通配符有"%"和"_"。

其中,"%"表示匹配任意字符(包括0个字符),"_"表示匹配一个字符。

例如:SELECT emp_nameFROM employeeWHERE emp_name LIKE 'J%'这个例子中,查询所有以字母J开头的员工姓名。

四、使用聚合函数聚合函数是用来对数据进行汇总计算的函数。

在INFORM中,常用的聚合函数有SUM、AVG、COUNT、MIN和MAX。

informix学习总结

informix学习总结

INFORMIX的学习第一章ESQL/C的数据类型数据类型SQL与C数据类型的对应简单类型SQL ? ? ? ? CCHAR(n)? ? ? ? ? char(n+1)CHARCTER(n)? ? ? char *SMALLINT ? ? ? ? ?short intINTERGERINT ? ? ? ? ?long intSMALLFLOATREAL ? ? ? ? ?floatFLOATDOUBLE PRECISIONdoubleSERIAL ? ? ? ? ? long intDATE ? ? ? ? ? long int复杂类型SQL ? ? ? ? ? CDECIMALDEC NUMERIC ? ? ? ? ?dec_t or struct decimalMONEY ? ? ? ? ?dec_t or struct decimalDATETIME ? ? ? ? ?dtime_t or struct dtimeINREVER ? ? ? ? ? ? ?intrvl_t or struct intrvlVARCHAR ? ? ? ? ? ? ?varchar or string数据类型转换转换类型?转换后FLOAT ?DECIMAL(16)SMALLFLOAT ?DECIMAL(8)INTERGER ?DECIMAL(10,0)SAMLLINT ?DECIMAL(5,0)?数据类型的转换函数有关CHAR类型的函数1、以空值结尾的串的操作函数rdownshift(char *s) ? ? ? ? ?把一个字符串中的所有字母转换成小写形式。

rupshift(char *s) ? ? ? ? ? ? 把一个字符串中的所有字母转换成大写形式。

stcat(char *s, char *dest) ? ? ?把一个字符串同另一个字符串相连接。

stcmpr(char *s1, char *s2) ? ? 比较两个字符串。

INFORMIX数据库操作及SQL语法

INFORMIX数据库操作及SQL语法

编号:TN-070101001TIENON数据库培训教程INFORMIX基本操作及SQL语法2007年1月,V 1.00目录1、引言 (5)1.1、读者对象 (5)1.2、内容简介 (5)1.3、课程时间 (5)1.4、课程目标 (5)2、数据库基本概念...........................................................错误!未定义书签。

2.1、从身边的例子了解数据库......................................................... 错误!未定义书签。

2.2、数据库系统概述......................................................................... 错误!未定义书签。

2.2.1、数据库的产生................................................... 错误!未定义书签。

2.2.2、数据库系统组成................................................. 错误!未定义书签。

2.2.3、与数据库相关的软件系统......................................... 错误!未定义书签。

2.2.4、数据库系统特点................................................. 错误!未定义书签。

2.2.5、数据库系统的历史............................................... 错误!未定义书签。

2.2.6、数据库系统的发展趋势........................................... 错误!未定义书签。

2.2.7、数据库的分类................................................... 错误!未定义书签。

INFORMIX SQL语法与规范

INFORMIX SQL语法与规范

一、INFORMIX SQL语法DML (Data Manipulation Language commands) 数据操纵语言DDL (Data Definition Language commands) 数据定义语言TCC (Transaction Control commands) 事务控制语言SCC (System Control commands) 系统控制语言1、AlterALTER TABLE < 表名>[ ADD < 新列名> < 数据类型> [ DEFAULT < 缺省值> ] [ 完整性约束名] [ BEFORE 列名] ][ DROP < 列名> ][ MODIFY [ < 列名> < 数据类型> [ NULL | NOT NULL ] ] ] ;ALTER TABLE < 表名>[ ADD CONSTRAINT[ UNIQUE ( 列名) ][ DISTINCT ( 列名) ][ PRIMARY KEY ( 列名) ][ FOREIGN KEY ( 列名) REFERENCES < 表名. >( 列名) ON DELETE CASCADE ][ CONSTRAINT < 约束名> ] ][ DROP CONSTRAINT < 约束名>][ MODIFY NEXT SIZE数值(单位KB) ][ LOCK MODE ( PAGE | ROW | TABLE ) ] ;2、RenameRENAME COLUMN < 表名.旧字段名> TO < 表名.新字段名> ;RENAME TABLE < 旧表名> TO < 新表名> ;RENAME DA TABASE < 旧数据库名> TO < 新数据库名> ;3、GrantGRANT [ CONNECT | RESOURCE | DBA ] TO < PUBLIC | 用户> ;GRANT < [ ALL | , SELECT | , INSERT | , UPDA TE | , DELETE ] ON < 表名> TO < PUBLIC | 用户> ; GRANT EXECUTE ON < 存储过程名称> TO < PUBLIC | 用户> ;4、RevokeREVOKE [ CONNECT | RESOURCE | DBA ] FROM < PUBLIC | 用户> ;REVOKE < [ ALL | , SELECT | , INSERT | , UPDATE | , DELETE ] ON < 表名> FROM < PUBLIC | 用户> ; REVOKE EXECUTE ON < 存储过程名称> FROM < PUBLIC | 用户> ;5、LoadLOAD FROM < 文件名> [ DELIMITER …delimiter‟ ] INSERT INTO < 表名>(字段) ;6、UnloadUNLOAD TO < 文件名> [ DELIMITER …delimiter‟ ] < 复合select 语句> ;7、Update StatisticsUPDA TE STA TISCTICS FOR PROCEDURE < 存储过程名> ;UPDA TE STA TISCTICS [ LOW | MIDIUM | HIGH ]FOR TABLE [ < 表名| synonym >[ (字段名) ] ] [ DROP DISTRIBUTIONS ] ;二、INFORMIX SPL语法1、CallCALL PROCEDURE存储过程名称(参数) [RETURNING 返回值参数] ;2、ContinueCONTINUE [FOR | FOREACH | WHILE] ;3、DefineDEFINE GLOBAL < 变量> [ < 数据类型> [ DEFAULT 缺省值] ] | [ REFERENCES [ BYTE | TEXT ] ] ; DEFINE < 变量>[ < 数据类型> | [ REFERENCES [ BYTE | TEXT ] | PROCEDURE LIKE < 表名.列名> ] ;4、ExitEXIT [FOR | FOREACH | WHILE]5、ForFOR < 变量> = < 开始> TO < 结束> [ STEP < 步长> ]END FOR ;FOR < 变量> IN < 范围表达式>END FOR ;6、Foreach7、IfIF < 条件> THEN< 语句>[ ELIF < 条件> THEN< 语句> ][ ELSE< 语句> ]END IF8、LetLET变量=数据(可以是表达式,并且可以多个一起赋值) ;9、On Exception10、Raise Exception11、ReturnRETURN [ < 表达式> WHILE RESUME ] ;12、System13、Trace14、WhileWHILE < 条件>< 语句>END WHILE ;三、标量函数1、数值标量函数ABS(n) 求n的绝对值MOD(n,m) 求n被m除的余数POW(n,m) 求n的m次方ROUND(n,m) 把n四舍五入,保留m位小数ROOT(source,index) 大于最大TRUNC(source,+,-,position) 截位2、字符型函数LENGTH(char) 求char的长度CHAR_LENGTH(char) 求char的长度LOWER(char) 把char中的字符改成小写UPPER(char) 把char中的字符改成大写LPAD(char1,n[,char2]) 从左侧用char2补齐char1至长度nRPAD(char1,n[,char2]) 从右侧用char2补齐char1至长度nTRIM(char) 去左右空格SUBSTR (str,n,m) 在str中从位置n开始截取长度为m的字符串REPLACE(source_string,old_str,new_str)3、日期型函数TODAY返回当前数据库服务器系统日期CURRENT返回当前数据库服务器系统日期和时间DAY(date or datetime) 返回1--31MONTH(date or datetime) 返回1--12WEEKDAY (date or datetime) 返回0—6YEAR(date or datetime) 返回四位年份4、空值函数NVL(<参数1>,<参数2>) 如参数1不是空值,返回其值,否则返回参数2的值6、条件标量函数ExecuteEXECUTE PROCEDURE存储过程名称(参数) [RETURNING procedure_var]CaseCASEWHEN条件THEN动作…………ELSE动作ENDCASE < 字段>WHEN值THEN值…………ELSE值ENDselect mobile_number,join_date,casewhen mobile_number>‟139********‟ and mobile_number<‟139********‟ then …斗门‟when mobile_number>‟138********‟ and mobile_number<‟139********‟ then …珠海‟……………else …珠海‟end,pinpai_code,sfzh_codefrom f01_customer ;select mobile_number,case pinpai_codewhen “0” then “全球通”when “1” then “模拟机”when “2” then “本地通”when “4” then “大众通”else “全球通”end,join_datefrom f01_customer空值转换Nvlselect mobile_number,nvl(spending_code,999) from f01_customer多重条件判断语句:Decodeselect mobile_number,decode(pinpai_code,‟0‟,‟全球通‟,‟1‟,‟模拟机‟,‟2‟,‟本地通‟,‟4‟,‟大众通‟,‟全球通‟) from f01_customer四、集合函数A VG(e) 求一组行中e值的平均值COUNT(e) 计算一组行中e值为非空值的行数COUNT(*) 计算表中的行数MAX(e) 计算一组行中e值的最大值MIN(e) 计算一组行中e值的最小值SUM(e) 计算一组行中e值的总和五、数据类型六、INFORMIX SQL使用常识1、语句书写层次分明,风格尽量保持一致2、强制使用/不使用索引强制使用索引:select * from emp where empno > 0 ;select * from emp where ename > ‘’;强制不使用索引:select * from emp where empno + 0 > 0;select * from emp where ename || ‘’= ’scott‘3、有效利用索引避免对索引列进行计算select * from emp where sal * 0.2 > 500改为select * from emp where sal > 2500避免在索引列使用NOTNOT > 改为< = NOT = 改为<> NOT>= 改为<NOT < 改为>= NOT<= 改为>避免在索引列使用NULLselect * from emp where sal IS NOT NULL改为select * from emp where sal > 04、减少访问数据库的次数select * from emp where empno = 1234;select * from emp where empno = 4321;改为select a.* , b.* from emp a, emp bwhere a.empno = 1234and b.empno = 4321;select ename from emp where empno = 1234 and sal=3000;select ename from emp where empno = 1234 and sal=5000;改为Select Decode(sal,3000,ename,null) ename1,Decode(sal,5000,ename,null) ename2From empno where empno = 1234 ;5、update语句时要注意后面的WHERE 条件,特别是在子查询之外的WHERE条件。

Informix数据表结构分析资料整理之字段类型说明和查询SQL语句

Informix数据表结构分析资料整理之字段类型说明和查询SQL语句

Informix数据表结构分析资料整理之字段类型说明和查询SQL语句查询所有Informix数据表字段类型SQL语句:select a.tabname,b.colname,b.coltype,case b.coltypewhen '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数据库命令大全

informix数据库命令大全

informix数据库命令大全第一部分一、onstat命令集1、onstat -说明:查看数据库当前的状态用法:onstat -2、onstat -c说明:查看数据库的配置文件用法:onstat -c3、onstat -d说明:查看数据库空间的使用情况用法:onstat -d4、onstat -l说明:查看数据库逻辑日志的备份情况及逻辑日志的状态用法:onstat -l5、onstat -m说明:查看最近的数据库日志信息用法:onstat -m6、onstat -g sql说明:查看数据库的所有客户端的连接情况用法:onstat -g sql7、onstat -g sql说明:查看一个指定的客户端连接执行的SQL语句用法:onstat -g sql二、oncheck命令集1、oncheck -cc [数据库名]说明:检查一个或所有的数据库的系统目录用法:oncheck -cc [数据库名]2、oncheck -cD 数据库名[:表名]说明:检查一个数据库或数据库中的一个表的数据用法:oncheck -cD 数据库名[:表名]3、oncheck -cI 数据库名[:表名]说明:检查一个数据库或数据库中的一个表的索引用法:oncheck -cI 数据库名[:表名]4、oncheck -pt 数据库名:表名说明:检查一个表所占用的空间大小(EXTENT数)用法:oncheck -pt 数据库名:表名三、备份相关命令1、onbar说明:备份数据库的数据或日志到磁带库中用法:全备份: onbar -b -w -L 0备份逻辑日志:onbar -b -l2、dbschema说明:生成数据库的库表结构用法:整个数据库:dbschema -d 数据库名 -ss 脚本文件名一个数据库中的表:dbschema -d 数据库名 -t 表名 -ss 脚本文件名3、dbexport说明:手工备份一个数据库到磁盘中用法:dbexport -ss 数据库名四、其他命令1、oninit说明:启动一个数据库服务器用法:oninit2、onmode -ky说明:停止一个数据库服务器用法:onmode -ky3、onmode -z说明:停止一个数据库的客户端连接(SESSION)用法:onmode -z第二部分一、基础常用命令oninit 将系统从off-line模式变为on-line模式oninit -iy (初始化数据库,删除所有dbspace和chunk)oninit -s (脱机-->静态)onmode -ky offlineonmode -s graceful shutdown-->quiescent(联机到静态,让用户处理完成)onmode -u immediate shutdown-->quiescent (联机到静态,所有用户立即终止)onmode -m quiescent--->onlineonmode -z sid 删除某sessiononmode -l 将当前正在使用的逻辑日志下移onmode -c 强制执行检查点操作即onmonitor->force ckptonstat - 查看服务器状态onstat -d 查看dbspace和chunk情况onstat -l 查看逻辑日志onstat -F 查看写入磁盘的页刷新和类型情况,从共享内存缓冲区向磁盘写入页面有三种方式(fg:前台写 LRU:队列写 chunk:块写)onstat -R 打印LRU队列onstat -p 显示系统的基本I/O与性能配置文件onstat -c 查看onconfig文件onstat -m 查看消息日志onstat -f 查看受DATASKIP影响的dbspaceonstat -x 查看事务onstat -k 显示所有活动的锁onstat -g sub_option 运行多线索选项onstat -g ses/sqlonstat -r 每隔秒后重复选项onstat -g act 显示系统中所有的活动线索onstat -g ath -r 2 每隔两秒显示系统中所有的活动的线索onstat -i 交互方式>sql>sql sidipcs 查看共享内存情况ipcrm 删除某个共享内存ipcrm -m idipcrm -s idOntape命令:1)零级(一级或二级)备份$>ontape -s$>ontape -s -L 0$>ontape -s -L 1$>ontape -s -L 2自动备份逻辑日志文件$>ontape -a3)连续逻辑日志备份(日志文件写满一个,online系统自动备份一个,你可以插盘磁带到磁带机上,让IDS自动备份。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

informix sql函数使用说明大全一、内部函数1、内部合计函数1)COUNT(*)返回行数2)COUNT(DISTINCT COLNAME)返回指定列中唯一值的个数3)SUM(COLNAME/EXPRESSION)返回指定列或表达式的数值和;4)SUM(DISTINCT COLNAME)返回指定列中唯一值的和5)AVG(COLNAME/EXPRESSION)返回指定列或表达式中的数值平均值6)AVG(DISTINCT COLNAME)返回指定列中唯一值的平均值7)MIN(COLNAME/EXPRESSION)返回指定列或表达式中的数值最小值8)MAX(COLNAME/EXPRESSION)返回指定列或表达式中的数值最大值2、日期与时间函数1)DAY(DATE/DATETIME EXPRESSION)返回指定表达式中的当月几号2)MONTH(DATE/DATETIME EXPRESSION)返回指定表达式中的月份3)YEAR(DATE/DATETIME EXPRESSION)返回指定表达式中的年份4)WEEKDAY(DATE/DATETIME EXPRESSION)返回指定表达式中的当周星期几5)DATE(NOT DATE EXPRESSION)返回指定表达式代表的日期值6)TODAY 返回当前日期的日期值7)CURRENT[FIRST TO LAST] 返回当前日期的日期时间值8)COLNAME/EXPRESSION UNITS PRECISION 返回指定精度的指定单位数9)MDY(MONTH,DAY,YEAR)返回标识指定年、月、日的日期值10)DATETIME(DATE/DATETIME EXPRESSION)FIRST TO LAST 返回表达式代表的日期时间值11)INTERVAL(DATE/DATETIME EXPRESSION)FIRST TO LAST 返回表达式代表的时间间隔值12)EXTEND(DATE/DATETIME EXPRESSION,[FIRST TO LAST])返回经过调整的日期或日期时间值To_char函数将datetime和date值转化为字符值。

To_date函数将字符值转化为datetime类型的值。

例to_date(“1978-10-0710:00” ,”%Y-%m-%d %H:%M)例子1、和UNITS合用,指定日期或时间单位(year,month,day,hour,minute,seond,fraction):let tmp_date = today + 3 UNITS day例子2、let tmp_date = MDY(10,30,2002) -- 2002-10-30例子3、let tmp_date = today + interval(7) day to day --当前时间加上7天;注:该功能与1相似;例子4、EXTEND转换日期或日期时间值let tmp_inthour = extend(datetime1,hour to hour)3、代数函数1)ABS(COLNAME/EXPRESSION):取绝对值2)MOD(COLNAME/EXPRESSION,DIVISOR)返回除以除数后的模(余数)3)POW(COLNAME/EXPRESSION,EXPONENT)返回一个值的指数冥例子:let tmp_float = pow(2,3) --8.000000004)ROOT(COLNAME/EXPRESSION,[INDEX])返回指定列或表达式的根值5)SQRT(COLNAME/EXPRESSION)返回指定列或表达式的平方根值6)ROUND(COLNAME/EXPRESSION,[FACTOR])返回指定列或表达式的圆整化值7)TRUNC(COLNAME/EXPRESSION,[FACTOR])返回指定列或表达式的截尾值说明:上两者中FACTOR指定小数位数,若不指定,则为0;若为负数,则整化到小数点左边;注:ROUND是在指定位上进行4舍5入;TRUNC是在指定位上直接截断;let tmp_float = round(4.555,2) --4.56let tmp_float = trunc(4.555,2) --4.554、指数与对数函数1)EXP(COLNAME/EXPRESSION)返回指定列或表达式的指数值2)LOGN(COLNAME/EXPRESSION)返回指定列或表达式的自然对数值3)LOG10(COLNAME/EXPRESSION)返回指定列或表达式的底数位10的对数值5、三角函数1)COS(RADIAN EXPRESSION)返回指定弧度表达式的余弦值2)SIN(RADIAN EXPRESSION)正弦3)TAN(RADIAN EXPRESSION)正切4)ACOS(RADIAN EXPRESSION)反余弦5)ASIN(RADIAN EXPRESSION)反正弦6)ATAN(RADIAN EXPRESSION)反正切7)ATAN2(X,Y)返回坐标(X,Y)的极坐标角度组件6、统计函数1)RANGE(COLNAME)返回指定列的最大值与最小值之差= MAX (COLNAME)-MIN(COLNAME)2)VARIANCE(COLNAME)返回指定列的样本方差;3)STDEV(COLNAME)返回指定列的标准偏差;7、其他函数1)USER 返回当前用户名2)HEX(COLNAME/EXPRESSION)返回指定列或表达式的十六进制值3)LENGTH(COLNAME/EXPRESSION)返回指定字符列或表达式的长度4)TRIM(COLNAME/EXPRESSION)删除指定列或表达式前后的字符5)COLNAME/EXPRESSION || COLNAME/EXPRESSION 返回并在一起的字符;8、基数函数:1)cardinality(仅适用IDS)函数对集合包含的元素数目计数。

智能大对象函数,(仅适用与IDS)filetoblob( ),将文件复制到BLOB列中filetoclob( ),将文件复制到CLOB列中locopy( ),将BLOB或CLOB类型的数据复制到另一个BLOB或CLOB列中lotofile( ),将BLOB或CLOB复制到文件中9、字符串处理函数:lower,将字符串中每个大写字母转换为小写字母upper,将字符串中每个小写字母转换为大写字母initcap,将字符串中每个词的首写字母转换成大写replace,将字符串中的某一组字符转换成其他字符,例replace(col,”each”,”eve”)substr,返回字符串中的某一部分,例substr(col,1,2)substring,返回字符串中的某一部分,例substring(col,from 1 to 4)lpad,使用lpad函数已用重复次数达到必要次数的字符序列在左边填充或截断的字符串的副本,这取决于字符串中填充部分的指定长度。

举例:字段col 为char(15)类型,select lpad(col,21,”_”) from tab_name则显示为在col前加上六个_。

Rpad,使用rpad函数已用重复次数达到必要次数的字符序列在右边填充或截断的字符串的副本,这取决于字符串中填充部分的指定长度。

举例:字段col为char(15)类型,select rpad(col,21,”_”) from tab_name则显示为在col后边加上六个_。

10、其他函数:hex,返回表达式的十六进制数round,返回表达式的四舍五入值trunc,返回表达式的截断值length,计算表达式的长度user,返回执行查询的用户的用户名(登陆帐户名)today,返回当前系统日期dbservername,返回数据库服务器的名称,同sitenamedbinfo,返回数据库的相关信息decode,函数来将一个具有一个值的表达式转换为另一个值decode(test,a,a_value,b,b_value,c,c_value……),decode函数不支持TEXT和BYTE类型。

Nvl,来将求值为空的表达式转化为另一个想要指定的值。

另外还可以在select语句中使用存储过程,如select spl($test) from tab_name二、IDS内部函数1、DBSERVERNAME 返回数据库服务器名let tmp_char=DBSERVERNAME2、SITENAME 返回数据库服务器名let tmp_char=SITENAME说明:两者功能相同;3、DBINFO(‘SPECIAL_KEYWORD')返回只关键字值例子1:返回数据中每个表的DBSPACE名称select dbinfo('dbspace',partnum),tabname from systableswhere tabid>99 and tabtype='T' (OK)例子2:返回任何表中插入的最后一个SERIAL值select dbinfo('sqlca.sqlerrd1') from systables where tabid = 1例子3:返回最后一个SELECT,INSERT,UPDATE,DELETE或EXECUTE PROCEDURE语句处理的行数;select dbinfo('sqlca.sqlerrd2') from systables where tabid=1;三、其它本函數庫共有38 個函數目前支持的Informix 版本為ODS 7.x、SE 7.x 與Universal Server (IUS) 9.x 三種。

在ODS 7.x 的版本中,完全支持所有的資料類型,而在IUS 9.x 中,不支持SLOB 與CLOB 二種類型。

要在Web Server 上安裝Informix Client 端,在編譯PHP 之前(configure 之前),要先設好IFX_LIBDIR、IFX_LIBS 及IFX_INCDIR 三種環境變量,若是9.x 版尚要配置HAVE_IFX_IUS 環境變量。

同時在配置時要加入--with_informix=yes 的選項。

ifx_connect: 打開Informix 服務器連接。

ifx_pconnect: 打開Informix 服務器持續連接。

ifx_close: 關閉Informix 服務器連接。

ifx_query: 送出一個query 字符串。

ifx_prepare: 准備query 字符串。

ifx_do: 執行已准備query 字符串。

相关文档
最新文档