zoukankan      html  css  js  c++  java
  • DB2一些SQL的用法

    1.RRN(Table) 会显示该record在这个表中唯一的行号,此行号自动增长,不会被重用
    select RRN(Table) as RowID from Table

    2.Update *HIVAL/*LOCAL by SQL
    Update Table Set Value=X'FFFF'    // *HIVAL
    Update Table Set Value=X'0000'    // *LOVAL

    3.连接字符串
    Update Table Set Column1='R'||Column1
    Update Table Set Column1='ABC'||SubString(Column1,4)
    Update Table Set Column1='ABC'||Right(Column1,2)

    4.查找Column1中的空格位置
    SELECT  Locate(' ',trim(Column1)) from Table

    5.截取字符串
    SELECT Substr(Column1,3),Substr(Column1,3,2),Left(Column,3),Right(Column,3) from Table

    6.當前日期時間
    SELECT curdate(),curtime() from Table

    7.日期比較
    SELECT days (curdate()) - days(date('2014-02-01')) FROM Table

    AS400 计算日期时间
    http://www.aixchina.net/club/thread-27763-1-1.html

    8.前面幾條
    select top ?

    SELECT * FROM orders FETCH FIRST 100 ROWS ONLY

    9.字符串長度,去除空格
    length(...)
    trim(...)  rtrim(...)  ltrim(...)

    SELECT icincd,length(name),length(trim(name)) FROM orders

    10.替換字符串
    select replace('aaabb','ab','vvv') from  orders

    11.Case when

    SELECT * from orders     
    ORDER BY CASE no WHEN 0 THEN 900000 ELSE no END

    12.轉義字符
    2個引號
    INSERT INTO QTEMP/TEST VALUES(1,'abc''')    

    13.row_number()
    select test ,ROW_NUMBER() over(partition by test1 order by (case test2 when 0 then 999999 else test2 end) desc ) as rownum from tlib/file WHERE rownum = 1

    14.裝換類型
    SELECT int(1.01),int('123'), int('123a'),cast(1  as decimal(5,2) ) ,coalesce(1.1,0), replace(1.1,'NULL','0'),replace('aa','a'  ,'0') from tlib/file

     15.isnull函數
       coalesce ,   replace      

    16.upper,lower函數  

    17.利用translate函數判斷字符串不含有字母數字
    SELECT test1,                                           
       translate(test1,'?????????????????????????????????????',       
    '01234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ' )                           
    FROM test                                                      
    where trim(test1)<>'' and   trim(                                 
       translate(test1,'                                     ',       
       '01234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'
      ))<>''    

    18.批量更新DB2 mass update 

    UPDATE tlib/test2 SET txt= (SELECT txtFROM             

     (select DISTINCT TXT1 from tlib/test1 GROUP BY   txt1,txt2) AS NT WHERE txt=  NT.txt)       

    19.union里面的子查询order by 不起作用:使用union all

    20.

    merge into tlib/test b                               
    using (                                                        
    SELECT *    FROM tlib/test t1,tlib/test t2        
    ) as d                                                         
    on  txt=d.txt
     when matched then update set b.txt1='234'    

  • 相关阅读:
    MongoDB 释放磁盘空间 db.runCommand({repairDatabase: 1 })
    RK 调试笔记
    RK Android7.1 拨号
    RK Android7.1 移植gt9271 TP偏移
    RK Android7.1 定制化 itvbox 盒子Launcher
    RK Android7.1 双屏显示旋转方向
    RK Android7.1 设置 内存条作假
    RK Android7.1 设置 蓝牙 已断开连接
    RK Android7.1 进入Camera2 亮度会增加
    RK 3128 调触摸屏 TP GT9XX
  • 原文地址:https://www.cnblogs.com/sui84/p/6777209.html
Copyright © 2011-2022 走看看