DB2/400 SQL:全文 [英] DB2/400 SQL : FullText

查看:137
本文介绍了DB2/400 SQL:全文的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

SQL DB2/400:是否有人尝试使用FullText.

SQL DB2/400 : Is there somebody has tried to work wth FullText.

如果我可以有一个sql示例代码,那就太好了.

If i can have a sql exemple code, it will be great .

例如,我想将其与clob列一起使用.

I would like, for exemple, to use it with a clob column.

非常感谢

推荐答案

这将从mylib.myfile [mytext] 中拉出所有用空格分隔的单词 并将它们放入具有两列的表格中.我将字长限制为15个原因,实际上,当用户无论如何都要输入大于15个字符的字,并且我可能已经在第15个字上找到了一个匹配项,并向用户显示了一个列表.

This pulls out all of space delimited words from mylib.myfile[mytext] and puts them into a table with two columns. I limit the word length to 15 cause really when do users type in words longer than 15 chars anyways and I've probably already found a match on the 1st 15 and presented a list to the user.

我从互联网上复制了此技术.

CREATE TABLE mylib.myidx AS
(                                   
  WITH SPLITTER (ID, START, E, SECTION, ORIGINAL, NUM) AS 
  ( SELECT UID, 1, LOCATE(' ', mytext), CAST('' AS VARCHAR(8000)), mytext, 0  
      FROM mylib/myfile                                               
    UNION ALL
    SELECT ID, E + 1,
           CASE WHEN LOCATE(' ',ORIGINAL, E + 1) > 0
                THEN LOCATE(' ', ORIGINAL, E + 1)
                ELSE LENGTH(ORIGINAL) + 1
             END,
           SUBSTRING(ORIGINAL, START, E - START), 
           ORIGINAL, NUM + 1
      FROM SPLITTER
      WHERE E > START
  )                 
  SELECT ID AS UID                                                 
        ,CAST(SECTION AS VARCHAR(15)) AS SECTION                         
    FROM SPLITTER
    WHERE LENGTH(SECTION)>1                                 
)
WITH DATA;            

这篇关于DB2/400 SQL:全文的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆