加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

DB2中的一些函数

(2015-09-02 13:48:38)
标签:

java

db2

数据库

函数

分类: DateBase

最近用DB2,数据库之间的差异还是很大的,好多函数都不一样

1.去空格 
*DB2中:Ltrim()是去左边空格,rtrim()是去右边空格。
*informix中:trim()就是去空格。
用法:例:string a="  abc  ";
     *DB2中:Ltrim(a)="abc  ";rtrim(a)="  abc",rtrim(ltrim(a))="abc";
     *informix中:trim(a)="abc".
注意:DB2中无trim()函数,所以要去空格要执行左右去空格。

2.取值若为空值,用另外一个值代替 value(parm,string) 或者 coalesce(parm,string) 从表中取字段  parm,若为空值,用string代替。
*DB2中:value(parm,string) 或者 coalesce(parm,string)
*informix中:NVL(parm,string)。
用法:例:
     *DB2中:select value(name,'呵呵') from student;select coalesce(name,'呵呵') from   student;
    若student的表中name字段为空值,则显示出‘呵呵’,若有值则显示出name字段的值
    *informix中:select NVL(name,'呵呵') from student 一样

注意:DB2中无trim()函数,所以要去空格要执行左右去空格。

3.repeat(parm,int z),将字段重复z次后输出
*DB2中:select name from student,select repeat(name,2) from student 
  第一句输出为:‘呵呵’,
  第二句输出为:  ‘呵呵呵呵’

4.往表格中插入多行
*DB2中:  insert into table1 (select parm1,parm2... from table2) 
*注意:从table2中必须取与table1相同多字段值才行

 

5.CASE WHEN

select  CASE  WHEN MAINTAIN ='0' THEN 'A' WHEN MAINTAIN ='1' THEN 'A' WHEN  MAINTAIN IS NULL  THEN 'A' ELSE MAINTAIN END  from V_RepairPart

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有