Search on a clob field

I have a search screen google style.
The search uses LIKE command in the WHERE clause. I also tried CONTAINS.
The problem:
If the user writes "Human Frontiers" => gets no results.
Writing "Human Frontier" (without the at the end) brings results.
Is there something I can use in the WHERE instead of LIKE or CONTAINS that will get me results?

You might also have a look at utl_match (provided you are on a recent db version)
SQL> with t as (
  select 'Human Frontier' txt from dual union all
  select 'Frontier of humans' txt from dual
select * from t where utl_match.jaro_winkler_similarity(txt, 'Human Frontiers') > 95
TXT              
Human Frontier   
1 row selected.
SQL> with t as (
  select 'Human Frontier' txt from dual union all
  select 'Frontier of humans' txt from dual
select * from t where utl_match.jaro_winkler_similarity(txt, 'Human Frontiers') > 40
TXT              
Human Frontier   
Frontier of humans
2 rows selected.set an appropriate threshold value to get the desired results.

Similar Messages

  • Using Oracle Text with CLOB field containing multiple languages

    I'm using Oracle 10g (NLS_CHARACTERSET is set to. AL32UTF8) and have a table with a CLOB field which is storing text written in either English and/or Simplified Chinese.
    The following index has been created on this field:
    CREATE INDEX text_index
    ON text_table(text_field)
    INDEXTYPE IS CTXSYS.CONTEXT
    PARAMETERS('FILTER CTXSYS.INSO_FILTER');
    I'm having issues in returning text which matches the Chinese text using the CONTAINS operator. For some reason the following query is returning rows which do not contain any Chinese text:
    SELECT *
    FROM text_table
    WHERE contains(text_field,'炫%') > 1;
    A newsgroup user advised me to produce an explain plan using ctx_query.explain.
    I created 2 explain plans, one which was searching the index for 'A%' and the other searching for the Simplified Chinese character '炫%'. The results for the first test were as expected whereby the values contained within the OBJECT_NAME field all began with the letter 'A'.
    The second test however produced somewhat unexpected results. The OBJECT_NAME field this time contained various words, both English and Simplified Chinese. I could be wrong but it appeared to store every individual word in the CLOB field. Both tests produced different EQUIVALENCE rows, the first test was:
    OPTIONS = Null
    OBJECT_NAME = A%
    Whereas the second test produced:
    OPTIONS = (?)
    OBJECT_NAME = %
    Am I right in thinking the Simplified Chinese character is for some reason being converted to a '?' character?
    Any help on this will be much appreciated.

    As you're not specifying a lexer to use, it will use the BASIC_LEXER, designed for space-separated European-type languages. This won't work effectively with Chinese.
    If you know which documents are Chinese and which are English, you can write this into a LANGUAGE column and use the MULTI_LEXER - this will allow you to specify BASIC_LEXER for the English texts, and CHINESE_LEXER or CHINESE_VGRAM_LEXER for the Chinese texts.
    If you don't know the language, you must use either WORLD_LEXER (10g) or AUTO_LEXER (11g). These lexers will automatically determine the language of the documents and index them appropriately. In general. MULTI_LEXER will be faster and more accurate than either of the automatic alternatives.
    When querying for Chinese characters you need to be very careful with your NLS_LANG settings. You need to make sure that the character set defined in NLS_LANG is the same as the character set from which you've pasted (or typed) the chinese characters.
    The "?" in output usually just means "I don't know how to translate this character into your output character set". Sometimes it may appear as a reversed question mark.

  • TopLink JPA doesn't persist Clob field when useStringBinding

    I'm using Toplink JPA on a JSF application deploying on Tomcat.
    Everything works fine except the table with Clob field.
    When insert data with size larger than 4KB, the error will occur.
    I did some searching and I fixed this by using SessionCustomizer.
    In my persistence.xml I put this
    <property name="toplink.session.customizer" value="com.my.sessions.MySessionCustomizer"/>
    and MySessionCustomizer is like this
    public class MySessionCustomizer implements SessionCustomizer {
         public void customize(Session session) throws Exception {
              DatabaseLogin login = session.getLogin();
              login.useStringBinding();
              login.setShouldBindAllParameters(false);
              login.dontCacheAllStatements();
    Things seem to work fine now but I found that Toplink does not persist the field that useStringBinding in database (Oracle 9i)
    eg. when I update an object into a table which has 1 clob field and some other field like VARCHAR2, all the data in non-clob fields are stored perfectly in Oracle but the data in Clob field just gone blank. It just gone blank in the database but in my application, it's still there. I mean as long as my session is still alive, everything seems to work fine from the application side. But when I start a new session, the data in the Clob is lost because it's not in the database.
    Why is this happening? Do I need to do anything extra when useStringBinding?
    It seems to me that the field with StringBinding just don't get into the database.
    Could somebody help me with this?

    This is an issue with the Oracle thin JDBC driver in that it has a 4k limit for LOBS. The best workaround is to use the Oracle OCI JDBC driver, which does not have this limitation (I think this limitation was also improved in the Oracle 10.2 thin JDBC driver).
    If you are using TopLink 10.1.3 a workaround to the JDBC issue is provided by using the Oracle9Platform and configuring the mapping for the CLOB to have a field-classification of java.sql.Clob.class.
    If you are using TopLink Essentials unfortunately this support is not currently available. I believe there is already an issue logged for this in Glassfish. If you cannot use the OCI driver you may need to insert the CLOB data using direct JDBC code.

  • How to retrieve and use an XSL file from CLOB field

    I am using Java to query my data and return XML formatted data. I am able to format this data using an XSLStylesheet file. But I want to instead use an XSL Stylesheet stored in a clob field.
    I have an XSL file stored in a clob field. How can I retrieve and use it to initialize an XMLDocument and then create an XSLStylesheet.
    Thanks for your help,
    Les Smith

    I think this question has been raised before. Try searching this forum.

  • Form or form on report to update XML tagS stored in CLOB field.

    I would like to create a form or a form on a report
    where i can update xml tags. The xml data is stored in a CLOB field.
    sample CLOB DATA
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE preferences SYSTEM 'http://java.sun.com/dtd/preferences.dtd'>
    <preferences EXTERNAL_XML_VERSION="1.0">
    <root type="user">
    <map />
    <node name="com">
    <map />
    <node name="mynode">
    <map />
    <node name="utils">
    <map />
    <node name="properties">
    <map>
    <entry key="Save" value="ON" />
    <entry key="TM_PORT" value="55555" />
    <entry key="TM_PORT2" value="7777" />
    <entry key="SubID" value="all" />
    <entry key="UserDBUsr" value="myuser" />
    <entry key="JMS_JDBC" value="OFF" />
    <entry key="Side" value="BUY" />
    <entry key="HEALTH_MONITOR_CRITICAL_DISK_SPACE" value="500" />
    <entry key="HEALTH_MONITOR_WARNING_DISK_SPACE" value="750" />
    <entry key="HEALTH_MONITOR_PERIOD" value="600000" />
    </map>
    </node>
    </node>
    </node>
    </node>
    </root>
    </preferences>
    the goal is to have a form where i can view and update the "value" of following:
    TM_PORT
    TM_PORT2
    SubID
    UserDBUsr
    JMS_JDBC
    Side
    HEALTH_MONITOR_CRITICAL_DISK_SPACE
    HEALTH_MONITOR_WARNING_DISK_SPACE
    HEALTH_MONITOR_PERIOD
    I have searched around this forum but could not find an example.
    it would be cool if I could also load the an xml file into the clob.
    Thank you.

    Hi,
    I think you just study first the topics about XML DB to understand how to manupulate xml data in the database.
    See:
    http://www.oracle.com/technology/tech/xml/xmldb/index.html
    and
    XML DB
    Regards,
    Cafer

  • Getting all occurrences from a clob field

    I created a clob field to store an XML document. I have tried the SUBSTR, INSTR, REGEXP_SUBSTR, DBMS_LOB.INSTR functions to extract all occurrence of the XML tab <systemLink>.
    I just get 1 occurrence of the XML tag.
    Has anyone done this before.
    Thanks.

    All occurrences in a single row
    select extract(xmltype(your_clob_field),'//systemLink')
    from dualOr all occurrences in distinct rows
    select *
    from TABLE (XMLSEQUENCE (EXTRACT (XMLTYPE (your_clob_field), '//systemLink'))) ; Max
    http://oracleitalia.wordpress.com

  • How to delete entries from search help for a field

    hi guys
    how r u all doing.
    i have some questions for u.
    1. How can i delete some entries(from a list of many) from search help of a field with out (writing)going to a program.
    2.in PA10 (Personnel File),when i try to display data for a pernr,i am getting an error saying that infotype 122 doesnot exist.
    3.Again in Pa20,when i try to display data for a custom infotype,it leads me to short dump saying that load program does not exist.
    any help in this regard,wud be appreciated.
    thanks

    Follow this
    What to do before selling or giving away your iPhone, iPad, or iPod touch - Apple Support

  • Multiple clob fields in a single table

    Are there any known performance issues associated with having 4 CLOB fields in a single table... the table as such will be relatively small.. like 100 MB... with most rows being << 50k.

    Not really. If you need 4 CLOB columns and it makes sense to have alll the columns in a single table, go for it.
    Justin
    Distributed Database Consulting, Inc.
    http://www.ddbcinc.com/askDDBC

  • Export XML data from a CLOB field using sql developer

    I have a table that contains a CLOB field, each record is a complete XML in itself. After running the select query i am exporting this data by right clicking on the answer set, while the export completes the data for each record gets truncated.
    When i chose to save the export in loader format i get the complete records but now there are n files created for n records exported.
    Is there a way i can get alll the records in a single file wirthout any truncation.
    Thanks in advance!

    You might try delimited format or csv, with no enclosures if desired.

  • Urgent: How to set a default value to CLOB field?

    Hi All,
    As per the requirements we have to populate the CLOB field in a template with default value with some template similar to a letter issued to clients in bank.
    So, every time when I insert a record in that table this CLOB field should have that letter template populated by default and user will modify that if required from GUI.
    How can I populate that CLOB field by default?
    Thanks!

    Something like this?
    ME_XE?
    create table test_clob
      pk_value number primary key,
      one_clob clob   default rpad('something', 32000, '*')
    insert into test_clob (pk_value) values (1);
    select * from test_clob;
    Table created.
    Elapsed: 00:00:00.13
    ME_XE?ME_XE?
    1 row created.
    Elapsed: 00:00:00.09
    ME_XE?ME_XE?
              PK_VALUE ONE_CLOB
                     1 something***********************************************************************
    1 row selected.
    Elapsed: 00:00:02.65
    ME_XE?ME_XE?
    ME_XE?ME_XE?select * from v$version;
    BANNER
    Oracle Database 10g Express Edition Release 10.2.0.1.0 - Product
    PL/SQL Release 10.2.0.1.0 - Production
    CORE     10.2.0.1.0     Production
    TNS for Linux: Version 10.2.0.1.0 - Production
    NLSRTL Version 10.2.0.1.0 - Production
    5 rows selected.
    Elapsed: 00:00:00.18
    ME_XE?

  • Need help for SQL SELECT query to fetch XML records from Oracle tables having CLOB field

    Hello,
    I have a scenario wherein i need to fetch records from several oracle tables having CLOB fields(which is holding XML) and then merge them logically to form a hierarchy XML. All these tables are related with PK-FK relationship. This XML hierarchy is having 'OP' as top-most root node and ‘DE’ as it’s bottom-most node with One-To-Many relationship. Hence, Each OP can have multiple GM, Each GM can have multiple DM and so on.
    Table structures are mentioned below:
    OP:
    Name                             Null                    Type        
    OP_NBR                    NOT NULL      NUMBER(4)    (Primary Key)
    OP_DESC                                        VARCHAR2(50)
    OP_PAYLOD_XML                           CLOB       
    GM:
    Name                          Null                   Type        
    GM_NBR                  NOT NULL       NUMBER(4)    (Primary Key)
    GM_DESC                                       VARCHAR2(40)
    OP_NBR               NOT NULL          NUMBER(4)    (Foreign Key)
    GM_PAYLOD_XML                          CLOB   
    DM:
    Name                          Null                    Type        
    DM_NBR                  NOT NULL         NUMBER(4)    (Primary Key)
    DM_DESC                                         VARCHAR2(40)
    GM_NBR                  NOT NULL         NUMBER(4)    (Foreign Key)
    DM_PAYLOD_XML                            CLOB       
    DE:
    Name                          Null                    Type        
    DE_NBR                     NOT NULL           NUMBER(4)    (Primary Key)
    DE_DESC                   NOT NULL           VARCHAR2(40)
    DM_NBR                    NOT NULL           NUMBER(4)    (Foreign Key)
    DE_PAYLOD_XML                                CLOB    
    +++++++++++++++++++++++++++++++++++++++++++++++++++++
    SELECT
    j.op_nbr||'||'||j.op_desc||'||'||j.op_paylod_xml AS op_paylod_xml,
    i.gm_nbr||'||'||i.gm_desc||'||'||i.gm_paylod_xml AS gm_paylod_xml,
    h.dm_nbr||'||'||h.dm_desc||'||'||h.dm_paylod_xml AS dm_paylod_xml,
    g.de_nbr||'||'||g.de_desc||'||'||g.de_paylod_xml AS de_paylod_xml,
    FROM
    DE g, DM h, GM i, OP j
    WHERE
    h.dm_nbr = g.dm_nbr(+) and
    i.gm_nbr = h.gm_nbr(+) and
    j.op_nbr = i.op_nbr(+)
    +++++++++++++++++++++++++++++++++++++++++++++++++++++
    I am using above SQL select statement for fetching the XML records and this gives me all related xmls for each entity in a single record(OP, GM, DM. DE). Output of this SQL query is as below:
    Current O/P:
    <resultSet>
         <Record1>
              <OP_PAYLOD_XML1>
              <GM_PAYLOD_XML1>
              <DM_PAYLOD_XML1>
              <DE_PAYLOD_XML1>
         </Record1>
         <Record2>
              <OP_PAYLOD_XML2>
              <GM_PAYLOD_XML2>
              <DM_PAYLOD_XML2>
              <DE_PAYLOD_XML2>
         </Record2>
         <RecordN>
              <OP_PAYLOD_XMLN>
              <GM_PAYLOD_XMLN>
              <DM_PAYLOD_XMLN>
              <DE_PAYLOD_XMLN>
         </RecordN>
    </resultSet>
    Now i want to change my SQL query so that i get following output structure:
    <resultSet>
         <Record>
              <OP_PAYLOD_XML1>
              <GM_PAYLOD_XML1>
              <GM_PAYLOD_XML2> .......
              <GM_PAYLOD_XMLN>
              <DM_PAYLOD_XML1>
              <DM_PAYLOD_XML2> .......
              <DM_PAYLOD_XMLN>
              <DE_PAYLOD_XML1>
              <DE_PAYLOD_XML2> .......
              <DE_PAYLOD_XMLN>
         </Record>
         <Record>
              <OP_PAYLOD_XML2>
              <GM_PAYLOD_XML1'>
              <GM_PAYLOD_XML2'> .......
              <GM_PAYLOD_XMLN'>
              <DM_PAYLOD_XML1'>
              <DM_PAYLOD_XML2'> .......
              <DM_PAYLOD_XMLN'>
              <DE_PAYLOD_XML1'>
              <DE_PAYLOD_XML2'> .......
              <DE_PAYLOD_XMLN'>
         </Record>
    <resultSet>
    Appreciate your help in this regard!

    Hi,
    A few questions :
    How's your first query supposed to give you an XML output like you show ?
    Is there something you're not telling us?
    What's the content of, for example, <OP_PAYLOD_XML1> ?
    I don't think it's a good idea to embed the node level in the tag name, it would make much sense to expose that as an attribute.
    What's the db version BTW?

  • Make a clob field as an editable column in a report

    Hello,
    I have a CLOB field column in my report and want to make this as an editable item. Can anyone please tell me what would be the best approach to deal with these kind of issue.
    Thanks,
    Orton

    Dan McGhan wrote:
    There is no "out of the box" solution for this. You'd have to do a bit of work. However, before we go down that road, I'm curious as to why you'd want to put a password field in a tabular form.
    It's a multi row insert/update/delete (tabular) form, and one of the columns represents a password.
    One row represents "an application". The column represents the application password.
    I actually have two of them (columns) + a process that verifies that the same value was entered in both.
    I'm suprised that this is not out-of-the box possible...
    It would be a very easy to just support the 'password field' type in the dropdown list that I have now used to make it a simple text field. No?
    Appreciate any assistance...
    Edited by: Toon Koppelaars on Jul 14, 2010 1:20 PM

  • How to store the contents of a text file directly in to a clob field

    Hi All,
    Could anyone help me to store the contents of a text file (*.txt,*.xml etc)directly in to a clob field.
    Thanks in advance
    Jayaram.

    One way is to use sqlloader. Three files are used. A control file, an xml data file, and a file with the path of the xml data file. Here's the control file. It reads load.file, which is the file with the path of the xml data file. It names the path ext_path, and inserts the xml into field xml_field.
    CONTENTS OF CONTROL FILE:
    load DATA
    INFILE 'load.file'
    APPEND
    INTO TABLE xml_table
    ( ext_path FILLER CHAR(13),
    "XML_FIELD" LOBFILE(ext_fname) TERMINATED BY EOF
    CONTENTS OF FILE LOAD.FILE:
    /tmp/load.dat
    The xml is in the file /tmp/load.dat.
    null

  • Search help for input fields in a screen

    Hi,
    Pls help me
    how to set search help property for the I/O fields in screen in se80?
    1. do we want to add any property for search help in the property window?
    2.do we want to create a MODULE PROCESS ON VALUE REQUEST ?
    PLS tell me how to set search for the I/O field in se80?pls tell me the process?
    i want to set the search help for more I/O fields in se80 but all the fields belongs to the same table?
    can i create a single search for all these fields and use that for all the I/O fields ?
    elementary search help or collective search help?
    thanks & regards in advance,
    vsnl.

    Hi,
    Input Help on the Screen
    Within the Screen Painter, you can define two types of input help:
    1. The FIELD statement with one of the additions VALUES or SELECT.
    2. Linking a search help directly to a screen field.
    If you link a search help directly to a screen field, it overrides the additions of the FIELD
    statement. However, the input check [Page 581] functions of the FIELD statement remain
    unaffected.
    Input Help in Flow Logic
    The following input help methods are obsolete and should not be used. They are still supported
    for compatibility reasons.
    In the screen flow logic, you can specify a value list for a screen field <f> as follows:
    FIELD <f> VALUES (<val1>, <val2>,...).
    The value list contains a series of single values <vali>. The NOT and BETWEEN additions for the
    input check [Page 581] are not appropriate for input help.
    You can also create a value list by accessing a database table as follows:
    FIELD <f> SELECT *
    FROM <dbtab>
    WHERE <k1> = <f1> AND <k2> = <f2> AND...
    In the WHERE condition, the fields of the primary key <ki> of the database table <dbtab> are
    checked against the screen fields <fi>. The WHENEVER addition, used with input checks [Page
    581], is not necessary for input help.
    If you have used a ABAP Dictionary reference for field <f>, the selection and the hit list formatting
    may be affected by any check table attached to the field.
    Attaching a Search Help
    Search helps from the ABAP Dictionary can be attached to a screen field [Ext.]. To do this, enter
    the name of the search help in the corresponding field in the attributes of the screen field in the
    Screen Painter. This assigns the first parameter of the search help to the screen field. It is only
    possible to place a value from the hit list onto the screen.
    Input help on a screen.
    REPORT DEMO_DYNPRO_F4_HELP_DYNPRO MESSAGE-ID AT.
    DATA: CARRIER(3) TYPE C,
    CONNECTION(4) TYPE C.
    CALL SCREEN 100.
    MODULE CANCEL INPUT.
    LEAVE PROGRAM.
    ENDMODULE.
    The next screen (statically defined) for screen 100 is itself. It has the following layout:
    602 April 2001
    Cancel
    Airline
    Flight number
    Screen field with search help
    Input help in the flow logic
    The input fields have been adopted from the program fields CARRIER and
    CONNECTION. The function code of the pushbutton is CANCEL, with function type
    E. The search help DEMO_F4_DE with the search help parameter CARRID is
    assigned to the screen field CARRIER. The search help uses the database table
    SCARR.
    The screen flow logic is as follows:
    PROCESS BEFORE OUTPUT.
    PROCESS AFTER INPUT.
    MODULE CANCEL AT EXIT-COMMAND.
    FIELD CARRIER VALUES ('AA', 'LH').
    FIELD CONNECTION SELECT *
    FROM SPFLI
    WHERE CARRID = CARRIER
    AND CONNID = CONNECTION.
    When the user chooses the input help for the individual fields, the following input
    help is displayed:
      For the Airline field, the search help displays the names of the airlines and places the airline
    code in the input field for the chosen line. If the airline code is not one of those listed in the
    VALUES list of the screen flow logic, the input check triggers an error message in the PAI
    event. So the search help overrides the VALUES addition for the input help, but not for the
    input checks. This is therefore not an appropriate place to use the VALUE addition.
      For the Flight number field, the flow logic displays the selected entries from the database
    table SPFLI and places the selected line in the input field.
    Regards,
    Bhaskar

  • Search help for a field in table control based on another field value

    Hi,
    I want to attach the Search help for a field in table control based on another field value.
    Please help me asap.
    Will be highly rewarded

    HI,..
      Check these links
    search help in table control
    Re: How to create Search Help for a field in Table control !!
    How to create Search Help for a field in Table control !!
    F4 Help In Table Control
    Control table F4 help
    Problem in F4 help in screen field
    check this code
    DATA: BEGIN OF it_value4 OCCURS 0,
             TEXTCODE  LIKE  ZXX-TEXTCODE,
             TEXTDESC  LIKE  ZXX-TEXTDESC,
           END OF it_value4.
      progname = sy-repid.
      dynnum   = sy-dynnr.
             SELECT TEXTCODE TEXTDESC
               FROM  xxxx
               INTO CORRESPONDING FIELDS OF TABLE<b> it_value4</b>
              WHERE  LOSS_CODE =<b> IT_VALUE1 .</b>
      CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
        EXPORTING
          retfield    = 'TEXTCODE'
          dynpprog    = progname
          dynpnr      = dynnum
          dynprofield = 'ITVALUE-TEXTCODE'  "-->UR  4 th filed value in screen
          value_org   = 'S'
        TABLES
          value_tab   = it_value4.
    endmodule.
    Message was edited by:
            veereshbabu ponnada

Maybe you are looking for

  • Change Max no. of hits in search help

    Dear all, I want to change the max no hits to more then 1000 . please help to resolve this problem. Regards, Chintan

  • Filter report based sql result by default and then after by choice in promp

    Hi Every one, I got scenario where a report in my dashboard should show the values for previous month by default when a user opens it. After that he can select the month of his choice through prompts. But initiallly how can i set the report show the

  • Pro Res v HDV v SD comparison test

    Just incase anyone is interested, I have just completed a comparison test for checking the processing times for converting HDV footage into SD (ready for authoring). Having read up on the forum,the options of keeping things in native HDV , converting

  • Changing text color of item renderer in datagrid

    Hi, I have the following datagrid: <mx:DataGridColumn field="name" ......... /> <mx:DataGridColumn itemRenderer="myRenderer" ...... /> In myRenderer, I extend from the TextInput class; with the text color:WHITE My question is: When I do a mouse rollo

  • Assigning BP to Org. Unit

    Hello, Today, on my project,  when a new employee  (as BP) is created in CRM, he/she is assigned manually in PPOMA_CRM to the group (sales) he/she should belong to... I would like to know if you have any idea of a function module or BAPI I could use