程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> DB2數據庫 >> DB2教程 >> DB2數據庫中like使用的一些心得

DB2數據庫中like使用的一些心得

編輯:DB2教程

本文將為您介紹在DB2中like使用的一些心得體會,並附示例,供您參考,希望能夠對您有所幫助。

DB2中的like的使用是有限制的,它不允許跟在它後面的是一個變量或者是字段,目前比較多的是:like '%測試%'這樣,因此,在函數或者是存儲過程中,就不能通過窗體一個參數給like來組成動態的條件。

如果真要在函數或者是存儲過程中,去搜索某個字段是否擁有某個字符串在裡面,可以使用locate。下面是locate的用法:

locate(arg1,arg2,<pos>):在arg2中查找arg1第一次出現的位置,指定pos,則從arg2的pos處開始找arg1第一次出現的位置。(第三個參數可以不提供)

下面是用該方法時的一個例子:

CREATE FUNCTION GDZJ.GETNOPASS
 (ITEMNAME VARCHAR(100),
  REPORTTYPE INTEGER,
  RESULTID INTEGER
 ) 
  RETURNS INTEGER
  SPECIFIC GDZJ.SQL091102183311900
  LANGUAGE SQL
  NOT DETERMINISTIC
  READS SQL DATA
  STATIC DISPATCH
  CALLED ON NULL INPUT
  EXTERNAL ACTION
  INHERIT SPECIAL REGISTERS
  begin atomic
        --返回值0:沒有該檢驗項目。1:有檢驗項目,但全部合格。2:有檢驗項,但有一個不合格。(只要有一個不合格就判其不合格)
        DECLARE IResult INTEGER;
        DECLARE ICount INTEGER;
        set IResult=0;
        --REPORTTYPE:1:外單位、0:非外單位
        if REPORTTYPE=1 then
           set ICount=(
               select count(1) from DETECT_END_INFO where 
                      CHECK_OUT_UNIT_INFO_ID=RESULTID and locate(ITEMNAME,PROJECT_NAME)>0
  end;

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved