SEARCH_RESULT 函數利用 DB2 的 table-valued 函數觀念。 此函數使用於 SQL 陳述式的 FROM 子句,可傳回一個中間表格, 內含有指定字串的搜尋結果。搜尋字串的語法與搜尋引數的語法中所述相同。 相對於 CONTAINS 或 RANK,此函數的優點在於處理大型表格時,效能有顯著的改善。
所傳回的表格具有下列結構:
直欄名稱 資料類型 HANDLE DB2TX.DB2TEXTH, DB2TX.DB2TEXTFH NUMBER_OF_MATCHES INTEGER RANK DOUBLE
範例:
db2=>SET CURRENT FUNCTION PATH = db2tx db2=>SELECT author FROM db2tx.sample T1, table(DB2TX.SEARCH_RESULT('DB2TX','SAMPLE','MYDOCHANDLE','"compress"')) T2
其中,T1.handle = T2.mydochandle
如果您未設定現行路徑,則範例中的最後一行變成:
where cast(T1.handle as varchar(60)) = cast(T2.mydochandle as varchar (60))
SELECT NUMBER_OF_MATCHES,RANK,HANDLE 會導致傳回全部三個項目,但您仍可指定它們的組合。 您可能想要省略 RANK,避免相關的密集處理程序。
若您只需 HANDLE 值,您可使用 SELECT COUNT(*)。