1、不等于 :<>
2、判断是否为空:is null
3、nvl函数
NVL(expr1,expr2,expr3) :如果expr1是NULL,则返回expr2,否则返回expr3.返回值与expr2类型相同,除非expr2是字符类型,在这种情况下返回VARCHAR2类型;
NULLIF(a,b) :如果a等于b返回NULL,如果不等于返回b。
4、substr()函数
substr(str,startindex,count);其他数据库一般用substring(str,startindex,count);
5、string转换成sql的date型:to_date('2006-12-25','%Y-%m-%d');
6、得到昨天的日期:today-1
7、查看sql的执行过程:
8、使用临时表:
into temp tablename with no log ;最好加上with no log;
9、建立存储过程:
drop procedure zeng;
create procedure zeng(deptstr varchar ( 20 ),time1 char ( 10 ),time2 char ( 10 ))
returning decimal ( 14 , 2 );
define mysum decimal ( 14 , 2 );
select a.ownid,a.masterid,c.sendsum from distribute a,order_bankbill b,bankbill c where a.orderid = b.orderid and b.bankbillid = c.id and a.deptno = deptstr and c.sendtime >= time1 and c.sendtime <= time2 into temp mytemp with no log ;
select nvl( sum (sendsum), 0 ) into mysum from mytemp where ownid = masterid;
return mysum WITH RESUME;
end procedure
2 )导入到数据库:
dbaccess databasename zengchao.sql
3 )进入数据库,执行
dbaccess databasename
……
execute procedure zeng ( ' 00xm010101 ' , ' 2006-03-01 ' , ' 2006-03-25 ' );
10、update的一种用法
(( select nvl(groupmanager, 0 ),nvl(groupmanagername, '' ) from department where distribute.deptno = department.departmentno ))
where opertime >= ' 2007-02-11 ' ; // 注意后面不要漏掉一层括号
11、unique与distinct的区别:
unique是distinct的同义词,功能完全相同。distinct是标准语法,其他数据库 sql server,db2,oracle,sybase,mysql等都支持。unique,informix数据库认识,其他数据库有的认识,有的不认识。
12、Case语句用法:
13、使用优化器(update statistics):
1 . update statistics for table
2 . update statistics for procedure
3 . update statistics for table rta1(bm_cert)
4 . update statistics high for table rta1(bm_cert) resolution 0.5
14、连接字符串(||):
select id ||':'|| name from employee
15、JDBC事务与游标
注意要先关闭ResultSet然后提交事务;
16、informix备份表数据(isql)
2 )导入: load from "zengchao.data" insert into position;
17、关于like与[]
select count ( * ) from employee where departmentno [ 1,6 ] = ' 00xm01 ' ;
这两条语句,执行差不多,但是估计成本是第二个比第一个好
18、informix下更改表名
19、count(name)与count(*)区别
select count ( * ) from tablename
select count (name) from tablename
20、锁表的解决方法(转)
onstat - x
onstat - G
看是否存在全局事务,若有全局事务,则继续以下步骤: select hex(tx_addr) trans_addr,hex(tx_lklist) lock_addr from systrans where hex(tx_addr) like ' %c000000007674c58% ' ;需要说明的是,c000000007674c58是使用onstat - x 或 onstat - G得到的全局事务的地址。上面SQL语句提供出该全局事务对应的锁地址,这时如果得到的锁地址与锁表的锁地址相同的话,你就必需从应用端(通常是三层结构的中间件)发命令让该全局事务回滚或提交,否则该锁会被一直持有,直到你执行oninit - i。
21、从数据库的数据导成Excel格式
方法二:
用Excel中的“数据” -> “导入外部数据” -> “新建数据库查询”,然后配置数据源