DB2中的一些函數


最近用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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM