La función SEARCH_RESULT utiliza el concepto DB2 de las funciones de tabla con valores. La función se utiliza en la cláusula FROM de una sentencia de SQL y devuelve una tabla intermedia con resultado de la búsqueda de la serie de búsqueda especificada. La sintaxis de la serie de búsqueda es la misma que la descrita en el Capítulo 12, Sintaxis de los argumentos de búsqueda. La ventaja de esta función con respecto a CONTAINS o RANK es una mejora significativa del rendimiento cuando se emplean tablas grandes.
La tabla devuelta tiene la estructura siguiente:
Nombre de columna Tipo de datos HANDLE DB2TX.DB2TEXTH, DB2TX.DB2TEXTFH NUMBER_OF_MATCHES INTEGER RANK DOUBLE
Ejemplo:
db2=>SET CURRENT FUNCTION PATH = db2tx db2=>SELECT author FROM db2tx.sample T1, table(DB2TX.SEARCH_RESULT('DB2TX','SAMPLE','MYDOCHANDLE','"compress"')) T2
donde T1.handle = T2.mydochandle
Si no ha establecido la vía de acceso actual, la última línea del ejemplo es:
donde cast(T1.handle as varchar(60)) = cast(T2.mydochandle as varchar (60))
SELECT NUMBER_OF_MATCHES,RANK,HANDLE hace que se devuelvan los tres elementos, pero puede especificarlos en cualquier combinación. Por ejemplo, puede que desee omitir RANK para evitar el proceso intensivo asociado al mismo.
Si sólo necesita el valor de HANDLE, puede utilizar SELECT COUNT(*) simplemente.